From b2095a01ccb04e07df6315fd1c21ee0675fbeede Mon Sep 17 00:00:00 2001 From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Mon, 24 Mar 2025 16:15:44 +0200 Subject: [PATCH] Trade orders (#1037) * orders * sprite * fix orders * different * layers * scrolls * flora * loot * groups * entity-group --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> --- .../Locale/en-US/_CP14/catalog/groups.ftl | 2 + .../Locale/ru-RU/_CP14/catalog/groups.ftl | 2 + .../Catalog/Cargo/Store/BradFamily/buy.yml | 26 +++- .../Catalog/Cargo/Store/BradFamily/sell.yml | 14 +++ .../Cargo/Store/BradFamily/sell_special.yml | 32 ++--- .../Catalog/Cargo/Store/Sylphoria/sell.yml | 32 +++++ .../Cargo/Store/Sylphoria/sell_special.yml | 118 ++---------------- .../_CP14/Entities/Clothing/Cloak/amulet.yml | 33 +++++ .../Spawners/Random/Loot/demiplane.yml | 4 +- .../Clothing/Cloak/Amulet/amulet.rsi/icon.png | Bin 0 -> 383 bytes .../Cloak/Amulet/amulet.rsi/meta.json | 14 +++ .../Amulet/amulet_mana.rsi/amethyst_stone.png | Bin 0 -> 164 bytes .../Cloak/Amulet/amulet_mana.rsi/icon.png | Bin 0 -> 425 bytes .../Cloak/Amulet/amulet_mana.rsi/meta.json | 17 +++ .../Clothing/Rings/rings.rsi/gold_ring.png | Bin 0 -> 282 bytes .../_CP14/Clothing/Rings/rings.rsi/meta.json | 5 +- .../Objects/Bureaucracy/paper.rsi/meta.json | 3 + .../Objects/Bureaucracy/paper.rsi/scrolls.png | Bin 0 -> 1148 bytes 18 files changed, 174 insertions(+), 128 deletions(-) create mode 100644 Resources/Locale/en-US/_CP14/catalog/groups.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/catalog/groups.ftl create mode 100644 Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml create mode 100644 Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Clothing/Cloak/amulet.yml create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/amethyst_stone.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Clothing/Rings/rings.rsi/gold_ring.png create mode 100644 Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/scrolls.png diff --git a/Resources/Locale/en-US/_CP14/catalog/groups.ftl b/Resources/Locale/en-US/_CP14/catalog/groups.ftl new file mode 100644 index 0000000000..13f2bc4b47 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/catalog/groups.ftl @@ -0,0 +1,2 @@ +cp14-entity-group-spell-scrolls = scrolls +cp14-entity-group-alchemical-herbals = alchemical herbals diff --git a/Resources/Locale/ru-RU/_CP14/catalog/groups.ftl b/Resources/Locale/ru-RU/_CP14/catalog/groups.ftl new file mode 100644 index 0000000000..b92216fa80 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/catalog/groups.ftl @@ -0,0 +1,2 @@ +cp14-entity-group-spell-scrolls = свитки +cp14-entity-group-alchemical-herbals = алхимические травы diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml index 655c79b037..7b3b32e43c 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml @@ -226,4 +226,28 @@ - id: CP14CandleGreenSmall amount: 2 - id: CP14CandlePurpleSmall - amount: 2 \ No newline at end of file + amount: 2 + +- type: storePositionBuy + id: SmokePowder + code: TOBACCO + price: 80 + iconOverride: + sprite: _CP14/Objects/Misc/reagent_fillings.rsi + state: tobacco_small + factions: + - BradFamily + service: !type:CP14BuyItemsService + product: CP14WoodenChestFilledSmokePowder + +- type: entity + parent: CP14WoodenChest + id: CP14WoodenChestFilledSmokePowder + name: smoking powder chest + components: + - type: StorageFill + contents: + - id: CP14GroundTobacco + amount: 10 + - id: CP14GroundSage + amount: 5 diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml new file mode 100644 index 0000000000..0f40644fd4 --- /dev/null +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml @@ -0,0 +1,14 @@ +- type: storePositionSell + id: CP14AlchemicalHerbals + price: 50 + factions: + - BradFamily + service: !type:CP14SellWhitelistService + whitelist: + tags: + - CP14AlchemicalHerbals + count: 10 + name: cp14-entity-group-alchemical-herbals + sprite: + sprite: _CP14/Objects/Flora/Wild/store_position.rsi + state: sell diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml index 17e6134c9b..6310a88fff 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml @@ -1,82 +1,82 @@ - type: storePositionSell id: CP14BloodFlower special: true - price: 50 + price: 200 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14BloodFlower - count: 5 + count: 20 - type: storePositionSell id: CP14AgaricMushroom special: true - price: 50 + price: 200 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14AgaricMushroom - count: 5 + count: 20 - type: storePositionSell id: CP14ChromiumSlime special: true - price: 150 + price: 600 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14ChromiumSlime - count: 5 + count: 20 - type: storePositionSell id: CP14WildSage special: true - price: 50 + price: 200 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14WildSage - count: 5 + count: 20 - type: storePositionSell id: CP14LumiMushroom special: true - price: 100 + price: 400 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14LumiMushroom - count: 5 + count: 20 - type: storePositionSell id: CP14BlueAmanita special: true - price: 50 + price: 200 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14BlueAmanita - count: 5 + count: 20 - type: storePositionSell id: CP14Dayflin special: true - price: 50 + price: 200 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14Dayflin - count: 5 + count: 20 - type: storePositionSell id: CP14AirLily special: true - price: 75 + price: 300 factions: - BradFamily service: !type:CP14SellPrototypeService proto: CP14AirLily - count: 5 + count: 20 - type: storePositionSell id: CP14BaseAlchemyBomb diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml new file mode 100644 index 0000000000..acba697c9b --- /dev/null +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml @@ -0,0 +1,32 @@ +- type: storePositionSell + id: LucenPlanks + price: 100 + factions: + - Sylphoria + service: !type:CP14SellStackService + stackId: CP14LucensWoodenPlanks + count: 10 + +- type: storePositionSell + id: CP14SpellScroll + price: 150 + factions: + - Sylphoria + service: !type:CP14SellWhitelistService + whitelist: + tags: + - CP14SpellScroll + count: 5 + name: cp14-entity-group-spell-scrolls + sprite: + sprite: _CP14/Objects/Bureaucracy/paper.rsi + state: scrolls + +- type: storePositionSell + id: CP14ClothingCloakAmuletGold + price: 80 + factions: + - Sylphoria + service: !type:CP14SellPrototypeService + proto: CP14ClothingCloakAmuletGold + count: 1 diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml index 4ec3641d68..ec2b5c8f88 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml @@ -18,110 +18,10 @@ stackId: CP14LucensWoodenPlanks count: 10 -- type: storePositionSell - id: CP14SpellScrollIceShards - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollIceShards - count: 1 - -- type: storePositionSell - id: CP14SpellScrollShadowGrab - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollShadowGrab - count: 1 - -- type: storePositionSell - id: CP14SpellScrollSphereOfLight - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollSphereOfLight - count: 1 - -- type: storePositionSell - id: CP14SpellScrollFlameCreation - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollFlameCreation - count: 1 - -- type: storePositionSell - id: CP14SpellScrollEarthWall - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollEarthWall - count: 1 - -- type: storePositionSell - id: CP14SpellScrollFlashLight - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollFlashLight - count: 1 - -- type: storePositionSell - id: CP14SpellScrollWaterCreation - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollWaterCreation - count: 1 - -- type: storePositionSell - id: CP14SpellScrollPlantGrowth - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollPlantGrowth - count: 1 - -- type: storePositionSell - id: CP14SpellScrollMagicSplitting - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollMagicSplitting - count: 1 - -- type: storePositionSell - id: CP14SpellScrollMagicalAcceleration - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollMagicalAcceleration - count: 1 - - type: storePositionSell id: CP14SpellScrollShadowStep special: true - price: 40 + price: 80 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -131,7 +31,7 @@ - type: storePositionSell id: CP14SpellScrollFireball special: true - price: 40 + price: 80 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -171,7 +71,7 @@ - type: storePositionSell id: CP14ClothingRingIceShards special: true - price: 100 + price: 150 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -181,7 +81,7 @@ - type: storePositionSell id: CP14ClothingRingFlashLight special: true - price: 100 + price: 150 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -201,7 +101,7 @@ - type: storePositionSell id: CP14MobRabbit special: true - price: 20 + price: 50 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -211,7 +111,7 @@ - type: storePositionSell id: CP14MobPig special: true - price: 100 + price: 130 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -221,7 +121,7 @@ - type: storePositionSell id: CP14MobBoar special: true - price: 120 + price: 170 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -241,7 +141,7 @@ - type: storePositionSell id: CP14MobMonsterMole special: true - price: 30 + price: 50 factions: - Sylphoria service: !type:CP14SellPrototypeService @@ -251,7 +151,7 @@ - type: storePositionSell id: CP14PartsMonsterGlands special: true - price: 80 + price: 100 factions: - Sylphoria service: !type:CP14SellPrototypeService diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/amulet.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/amulet.yml new file mode 100644 index 0000000000..af1a6a915e --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/amulet.yml @@ -0,0 +1,33 @@ +- type: entity + parent: + - CP14ClothingCloakBase + - ClothingSlotBase + id: CP14ClothingCloakAmuletGold + name: gold amulet + description: A gold amulet, a valuable trinket. + components: + - type: Sprite + sprite: _CP14/Clothing/Cloak/Amulet/amulet.rsi + - type: Clothing + sprite: _CP14/Clothing/Cloak/Amulet/amulet.rsi + - type: CP14Material + materials: + CP14Gold: 5 + +- type: entity + parent: + - CP14ClothingCloakBase + - ClothingSlotBase + id: CP14ClothingCloakAmuletMana + name: mana amulet + description: A gold amulet with a magical stone inside that helps you conjure more easily. + components: + - type: Sprite + sprite: _CP14/Clothing/Cloak/Amulet/amulet_mana.rsi + layers: + - state: icon + - state: amethyst_stone + - type: Clothing + sprite: _CP14/Clothing/Cloak/Amulet/amulet_mana.rsi + - type: CP14MagicManacostModify + globalModifier: 0.9 diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml index cdc97b4273..ee35f4f394 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml @@ -48,6 +48,7 @@ children: - id: CP14BaseLockpick - id: CP14EnergyCrystalMediumEmpty + - id: CP14ClothingCloakAmuletGold # Rare standard village crates loot - !type:NestedSelector tableId: CP14StationCrateLoot @@ -99,4 +100,5 @@ children: - id: CP14SpellScrollResurrection - id: CP14ClothingRingIceShards - - id: CP14ClothingRingFlashLight \ No newline at end of file + - id: CP14ClothingRingFlashLight + - id: CP14ClothingCloakAmuletMana diff --git a/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6772a2c3199d2a8ad280d793a5c0c14172c2bc GIT binary patch literal 383 zcmV-_0f7FAP)Px$IY~r8R9J=WlRZlVK@dRSiKa*qkaU6;)&`A5Fe2I{R>~EEjatWl5sXD3zd%TP zRT>op3!A$XA}NHB?gUG@Dkl*vVq`3ILxkK1USqKjrkQ1S-Ym1A(P%W9|Bi^nijiBB z+}5t_ADqbY;+pjBlBlyVW|InjKAj7|%~^}Ao94}ZWr-93zEhU@ojW73fbW#YV`LV# z$N9lan|9L!z_faXIZ<({wy^`>5KT0KL( zP9pktNh-y>#NCC-@EQdfxizU2^MN8WQ3CCzN4=g+JjkCB5w4C_q;HqRYZOG~qJD%5 z^?E^sZm4Po-%ACsv6?1T$b{AmI|Hhh9{^n3KNl9h)9L?3cf?ZFWV#+l_DRb!+TFy1_;n009Go+##`EA9-(6piK;(u6{1-oD!M< Dob@%V literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..444a5d919de9adbd9f7c60a8d829f2284c0fdb22 GIT binary patch literal 425 zcmV;a0apHrP)Px$V@X6oR9J=WlD|vCKpe$i{ZYihK{r8%g2lmtE`@-ILn;W0f~Awev4ekul*Y~f zK)O|3x>TXyk|E7f=^|POIl)mnXet#P+Q@UUrL80>)727p33hbb|RH}Q&D1OWiHsd94F2n-ycvzv+Om9}1g zvQS9p007%(cU?wSW`P^21d_@Nk4x9CA$$YarpiXSj;ovZFD2Kt-fP^cJE=rp&)^D4 z*rrNH=yZfm+f+#sexpV8C`w1@Oe#yRL592n)QT}?D{&~A0Yx*At;A6)#s=%E2hR`U z2%U;%bZMm%6~l7}o^>A&hwYI2dwKl$4?Le20E~Upf>F!!78>O`Qu!tTc$)hL0D$>$ z823W7=fEwjOceld`8euY=V#o)a}!Bi>_*r!TMsp{bz1Q~I1uQ|TOyH2B!7cX%nYb8 Ts~Px>00000NkvXXu0mjfDvP(8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/meta.json new file mode 100644 index 0000000000..e4b21cafd5 --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Cloak/Amulet/amulet_mana.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by trushnikov_daniel (discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "amethyst_stone" + } + ] +} diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/gold_ring.png b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/gold_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..42f30221f6cac48adc09aa04c6ffe4059891fb21 GIT binary patch literal 282 zcmV+#0pPx#)Ja4^R9J=W(xD2%P!z`T|3nN189so5VXPWdRz%R^8|)4C6ss1?z+##)Np?Jp7VW|dqD^x#E)5~gVAKF{4@rj)UHtNEsb^=7ie|5 z%5@xOVU5di17K95Xc`W1ND{X5Jpit4vIz=0hoi|4mV;x_9ibo;s5{u07*qoM6N<$g2Taf;Q#;t literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json index c520b47520..5fd444d4b3 100644 --- a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json +++ b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd", + "copyright": "Created by TheShuEd, gold_ring by trushnikov_daniel", "size": { "x": 32, "y": 32 @@ -10,6 +10,9 @@ { "name": "brass_ring" }, + { + "name": "gold_ring" + }, { "name": "saphhire_stone_small" }, diff --git a/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json b/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json index 0e3f39b154..1031bdbff9 100644 --- a/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json @@ -45,6 +45,9 @@ }, { "name": "passport" + }, + { + "name": "scrolls" } ] } diff --git a/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/scrolls.png b/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/scrolls.png new file mode 100644 index 0000000000000000000000000000000000000000..cdad3de30d0d1512ebc02dfaf6dd3b7fd740bd12 GIT binary patch literal 1148 zcmV-?1cUpDP)Px(Hc3Q5R9J=Wm(NckXBfvnpu)@`5LgvO*HtiTtTk>|Z7SJAV|LqP_YY`K9{LB^ zq)E>v9(ry(^w7jxFP_?LQthTOYPxFcT4h}q*3?xS!par~2hajN3^NrNsOa9>=Q18vG52-|iz=(@n?yonpI2ddJK+oI#G)OK0 za@h=zetN-&_XfzD8dzA^A~5Db6h%GZ(($!;!!QBzW)iVO{c&{I&PntoqF^I1<^f=1 zX@xs?$ARm4!+0Z2IUMc|0Dk`EHI2?@8lBAuk{!|EL6Gd+xjW9r(h4ZsxLbTQ-5j7H zvsbe>j1>S~fp_0=k&H(X1shoaIfAgM$|oy>Wg^Hi#)1S+O0H9GY#U*Afxy#5+N zvIFQ>0Lku#^q$_PdE>HSsDLQgP?B-|d1OdL6l_JOLJQR!y?Wcm(n?KmD(g5mJDqQB zYeRH+Som?5d++?%3qud0&MP=Vmu zlM1r_fxlh7lNI&4``tVmIkSas|9C_u(Aig&oMj0dh4yPMNTuWiuv!Fu*jZ(we}uFm zS3DgR-8wThnID_@fQI_Q7j14MjK7DeUIHMKJmK_ICb<4910%P=lq;J<6m0r^rPE=! zF-8T6;X%@hOezr}m53C}dV!o$qm#Acuujh9gJ(K9XQn30>PAHnX|m=vgVb3i>Z}ry z-Hqt*z~;94g%@Pi$f+dbjC%cKGm2V8JNt^bap?rKf|TjMMKT^G8IN)jeW_x1co0x! z)y%4qbL}{c!`-3R3@9e&0x=qKi9K+5gLOWqBg7xwWlollVZ(%N!T|oB%sBE}+r_?1-Qq*sJK{$3O!ZhO#cUPW-FjBG zMpX}_5)l~c{nvsN+77A}{fS$KC4J}h0rn1pk)(|M=MQBhV_ z9};wS;%icWBYpJAXIK7nQk4UhWIet$R8`hm!f*?YLi