From 485237a0d8719c30f3f77129fc62177ecc9d1657 Mon Sep 17 00:00:00 2001 From: yagutrslbyl Date: Fri, 27 Feb 2026 02:26:00 +0400 Subject: [PATCH] Homework is done --- .idea/.gitignore | 10 ++ .idea/compiler.xml | 13 +++ .idea/encodings.xml | 7 ++ .idea/homework-java-ironbattle.iml | 9 ++ .idea/jarRepositories.xml | 20 ++++ .idea/misc.xml | 14 +++ .idea/modules.xml | 8 ++ .idea/vcs.xml | 6 ++ HomeWork1/README.md | 26 +++++ HomeWork1/pom.xml | 17 +++ .../src/main/java/org/example/Attacker.java | 7 ++ .../java/org/example/BattleSimulator.java | 39 +++++++ .../src/main/java/org/example/Character.java | 46 +++++++++ HomeWork1/src/main/java/org/example/Main.java | 97 ++++++++++++++++++ .../src/main/java/org/example/Warrior.java | 58 +++++++++++ .../src/main/java/org/example/Wizard.java | 66 ++++++++++++ .../target/classes/org/example/Attacker.class | Bin 0 -> 155 bytes .../classes/org/example/BattleSimulator.class | Bin 0 -> 1517 bytes .../classes/org/example/Character.class | Bin 0 -> 1242 bytes .../target/classes/org/example/Main.class | Bin 0 -> 3094 bytes .../target/classes/org/example/Warrior.class | Bin 0 -> 2289 bytes .../target/classes/org/example/Wizard.class | Bin 0 -> 2254 bytes 22 files changed, 443 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/homework-java-ironbattle.iml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 HomeWork1/README.md create mode 100644 HomeWork1/pom.xml create mode 100644 HomeWork1/src/main/java/org/example/Attacker.java create mode 100644 HomeWork1/src/main/java/org/example/BattleSimulator.java create mode 100644 HomeWork1/src/main/java/org/example/Character.java create mode 100644 HomeWork1/src/main/java/org/example/Main.java create mode 100644 HomeWork1/src/main/java/org/example/Warrior.java create mode 100644 HomeWork1/src/main/java/org/example/Wizard.java create mode 100644 HomeWork1/target/classes/org/example/Attacker.class create mode 100644 HomeWork1/target/classes/org/example/BattleSimulator.class create mode 100644 HomeWork1/target/classes/org/example/Character.class create mode 100644 HomeWork1/target/classes/org/example/Main.class create mode 100644 HomeWork1/target/classes/org/example/Warrior.class create mode 100644 HomeWork1/target/classes/org/example/Wizard.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..19dd361 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..4261cfa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/homework-java-ironbattle.iml b/.idea/homework-java-ironbattle.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/homework-java-ironbattle.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..da84b14 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..54cb84e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/HomeWork1/README.md b/HomeWork1/README.md new file mode 100644 index 0000000..2307309 --- /dev/null +++ b/HomeWork1/README.md @@ -0,0 +1,26 @@ +# Text-Based Battle Simulator + +## Description +This is a console-based Java battle simulator where Warriors and Wizards fight in a 1v1 duel. +The battle is round-based and continues until there is a single winner. If both characters die in the same round, the battle restarts. + +## Features +- Object-Oriented Design (Inheritance, Polymorphism, Interface) +- Warrior and Wizard character types +- Random stat generation +- Round-based combat system +- Detailed battle log in console +- Tie detection and automatic restart +- Text-based menu navigation + +## How to Run +1. Clone the repository +2. Open the project in your IDE +3. Run `Main.java` +4. Use the console menu to create characters and start the battle + +## Technologies Used +- Java +- OOP Principles +- Scanner (Standard Input) +- Random class \ No newline at end of file diff --git a/HomeWork1/pom.xml b/HomeWork1/pom.xml new file mode 100644 index 0000000..4b11559 --- /dev/null +++ b/HomeWork1/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + org.example + HomeWork1 + 1.0-SNAPSHOT + + + 17 + 17 + UTF-8 + + + \ No newline at end of file diff --git a/HomeWork1/src/main/java/org/example/Attacker.java b/HomeWork1/src/main/java/org/example/Attacker.java new file mode 100644 index 0000000..cf3321e --- /dev/null +++ b/HomeWork1/src/main/java/org/example/Attacker.java @@ -0,0 +1,7 @@ +package org.example; + +public interface Attacker { + + void attack(Character target); + +} diff --git a/HomeWork1/src/main/java/org/example/BattleSimulator.java b/HomeWork1/src/main/java/org/example/BattleSimulator.java new file mode 100644 index 0000000..0e63a8e --- /dev/null +++ b/HomeWork1/src/main/java/org/example/BattleSimulator.java @@ -0,0 +1,39 @@ +package org.example; + +public class BattleSimulator { + + public static void fight(Character c1, Character c2){ + + while (true) { +// Wizard wizard1=(Wizard) wizard; +// Warrior warrior1=(Warrior) warrior; + + int round = 1; + + while (c1.isAlive() && c2.isAlive()) { + + System.out.println("===== ROUND " + round + " ====="); + + c1.attack(c2); + c2.attack(c1); + + round++; + } + + if (!c1.isAlive() && !c2.isAlive()) { + System.out.println("It's a TIE! Restarting battle..."); + + + } + else if (c1.isAlive()) { + System.out.println(c1.getName() + " WINS!"); + break; + } + else { + System.out.println(c2.getName() + " WINS!"); + break; + } + } + } + +} diff --git a/HomeWork1/src/main/java/org/example/Character.java b/HomeWork1/src/main/java/org/example/Character.java new file mode 100644 index 0000000..e704a42 --- /dev/null +++ b/HomeWork1/src/main/java/org/example/Character.java @@ -0,0 +1,46 @@ +package org.example; + +import java.util.UUID; + +public abstract class Character implements Attacker { + + private String id; + private String name; + private int hp; + private boolean isAlive=true; + public Character(String name, int hp){ + this.id= UUID.randomUUID().toString().substring(0,8); + this.name=name; + this.hp=hp; + } + + public String getId(){ + return id; + } + public String getName(){ + return name; + } + + public int getHp(){ + return hp; + } + public boolean isAlive() { + return isAlive; + } + + public void setHp(int hp){ + this.hp=hp; + if(this.hp<=0){ + this.hp=0; + this.isAlive=false; + } + + } + + public void setName(String name){ + this.name=name; + } + + + +} diff --git a/HomeWork1/src/main/java/org/example/Main.java b/HomeWork1/src/main/java/org/example/Main.java new file mode 100644 index 0000000..01def53 --- /dev/null +++ b/HomeWork1/src/main/java/org/example/Main.java @@ -0,0 +1,97 @@ +package org.example; + +import java.util.Random; +import java.util.Scanner; + + +public class Main { + public static void main(String[] args) { + + Scanner scanner = new Scanner(System.in); + Random random = new Random(); + + Character player1 = null; + Character player2 = null; + + while (true) { + System.out.println("1. Create Player 1"); + System.out.println("2. Create Player 2"); + System.out.println("3. Start Battle"); + System.out.println("4. Exit"); + System.out.print("Choose option: "); + + int choice = scanner.nextInt(); + scanner.nextLine(); + + switch (choice) { + + case 1: + player1 = createCharacter(scanner, random); + break; + + case 2: + player2 = createCharacter(scanner, random); + break; + case 3: + if (player1 == null || player2 == null) { + System.out.println("Both players must be created first!"); + } else { + BattleSimulator.fight(player1, player2); + } + break; + + case 4: + System.out.println("Exiting game..."); + return; + + default: + System.out.println("Invalid option!"); + } + } + } + + private static Character createCharacter(Scanner scanner, Random random) { + + System.out.println("Choose character type:"); + System.out.println("1. Warrior"); + System.out.println("2. Wizard"); + System.out.print("Your choice: "); + + int type = scanner.nextInt(); + scanner.nextLine(); + + System.out.print("Enter name: "); + String name = scanner.nextLine(); + + if (type == 1) { + + int hp = random.nextInt(101) + 100; + int stamina = random.nextInt(41) + 10; + int strength = random.nextInt(10) + 1; + + Warrior warrior = new Warrior(name, hp, stamina, strength); + + System.out.println("Warrior created!"); + System.out.println("HP: " + hp + " | Stamina: " + stamina + " | Strength: " + strength); + + return warrior; + + } else if (type == 2) { + + int hp = random.nextInt(51) + 50; // 50-100 + int mana = random.nextInt(41) + 10; // 10-50 + int intelligence = random.nextInt(50) + 1; // 1-50 + + Wizard wizard = new Wizard(name, hp, mana, intelligence); + + System.out.println("Wizard created!"); + System.out.println("HP: " + hp + " | Mana: " + mana + " | Intelligence: " + intelligence); + + return wizard; + + } else { + System.out.println("Invalid type!"); + return null; + } + } +} diff --git a/HomeWork1/src/main/java/org/example/Warrior.java b/HomeWork1/src/main/java/org/example/Warrior.java new file mode 100644 index 0000000..3b5e63a --- /dev/null +++ b/HomeWork1/src/main/java/org/example/Warrior.java @@ -0,0 +1,58 @@ +package org.example; + +public class Warrior extends Character { + private int stamina; + private int strength; + public Warrior(String name, int hp, int stamina, int strength){ + super(name,hp); + this.stamina=stamina; + this.strength=strength; + } + + public int getStamina(){ + return stamina; + } + + public int getStrength(){ + return strength; + } + + public void setStamina(int stamina){ + this.stamina=stamina; + } + + public void setStrength(int strength){ + this.strength=strength; + } + + + @Override + public void attack(Character target){ + if (!this.isAlive()) return; + boolean heavy= Math.random()<0.5; + int damage = 0; + if (heavy && stamina >= 5){ + damage = strength; + + stamina-=5; + System.out.println(getName() + " does attack HEAVY!"); + } + else { + if (stamina > 0){ + damage = strength / 2; + stamina += 1; + + System.out.println(getName() + " does attack WEAK!"); + } + else{ + damage = 0; + stamina += 2; + System.out.println(getName() + " Doesnt have enough stamina to attack"); + } + } + target.setHp(target.getHp()- strength); + + System.out.println(getName()+" attacked "+ target.getName()); + System.out.println(damage+" Damaged"); + } +} diff --git a/HomeWork1/src/main/java/org/example/Wizard.java b/HomeWork1/src/main/java/org/example/Wizard.java new file mode 100644 index 0000000..ef6c192 --- /dev/null +++ b/HomeWork1/src/main/java/org/example/Wizard.java @@ -0,0 +1,66 @@ +package org.example; + +public class Wizard extends Character{ + private int mana; + private int intelligence; + + + public Wizard(String name, int hp, int mana, int intelligence){ + super(name,hp); + this.mana=mana; + this.intelligence=intelligence; + } + + public int getMana(){ + return mana; + } + + public int getIntelligence(){ + return intelligence; + } + + public void setMana(int mana){ + this.mana=mana; + } + + public void setIntelligence(int intelligence){ + this.intelligence=intelligence; + } + + @Override + public void attack(Character target){ + + if (!this.isAlive()) return; + + boolean fireball = Math.random() < 0.5; + int damage = 0; + if (fireball && mana >= 5) { + + damage = intelligence; + mana -= 5; + + System.out.println(getName() + " casts FIREBALL!"); + + } + else{ + if (mana > 0) { + + damage = 2; + mana += 1; + + System.out.println(getName() + " does STAFF!"); + + } + else{ + damage = 0; + mana += 2; + + System.out.println(getName() + " has no mana!"); + } + } + + target.setHp(target.getHp()-intelligence); + System.out.println(getName()+" attacked "+ target.getName()); + System.out.println("Damage: " +damage); + } +} diff --git a/HomeWork1/target/classes/org/example/Attacker.class b/HomeWork1/target/classes/org/example/Attacker.class new file mode 100644 index 0000000000000000000000000000000000000000..e2b118477844c0d3446d649daee353d35906c68c GIT binary patch literal 155 zcmX^0Z`VEs1_oOOPId++Mh21mqICV#ip1Q4oK$_sl9I&a?9?K51{OvJfvm)`ME#t^ zymWp4q^#8B5=I8LM6d!z1}P06WPQ#ViA9OYC8%TgOh6g@2-1M={&i~_a+k8F%3u%+OGq;8d_lZj_bR6O<*8j*hymqqZZOO&cPPQ24S<^s7isD1h`RY|AyJRXQ`hyI`vRBpwZ5^J3p*pYD&SQ0jmVMCc6B4?JW-?>YBF+m zX~0v(V$o!B!Nzqgl0j4HE!k$ert*EF$Uq=(GEfj$>__n|YYWQ)mwOqm$Byf6yX#3E zuttNGV2>UrYOb%gy6s&RZp&Sdl1wdVNN-1mt~s9w2X)J3n&(bM{f5o5z|i+@v&B-b zye&Pa^#AJ^W{tXG(DnBOL{%WwSYfr_0yfvT1;*;86pv)*gkriLbi;<)bWIRbZ*VJ` z(zEy0gFr_*l$}RPw}QQBVi>Dwtl_SOdnU#A1s48)1FnA%?5k4JO-bKvvc-e&P~hj@ zN}K=_qYtIO=c#C+76kjjpdk%fl>*Uv=WFCYtF3e3M7%9oNv zj~tfx#h8&|8}pOle3PdVSHX2?>34`<va=AZw5>FivD9N7NCDiHR&F z++91yjadB%Gn5eBBN;w={gdH30K;_+6P(YH%NQoPpXL9SLk5eOBFkxf&fjN)(i-OQ z4D5Z;ZERF?#E%_9|%#HnfV*%P3)gh cnxcnte4D}@BG=>j0X8X1^ZW&>_zD;Q1#=91e*gdg literal 0 HcmV?d00001 diff --git a/HomeWork1/target/classes/org/example/Character.class b/HomeWork1/target/classes/org/example/Character.class new file mode 100644 index 0000000000000000000000000000000000000000..1077954e67254ab1b981d33b3cc8d77b9e29ba64 GIT binary patch literal 1242 zcmZuxU31bv6g?Y4QfQzR3rI_ADOe%Z#_zAz&UETHW(Mm6mWRGAkfEu3bVBI(XZ!~~ z=!{gy2Y-M+%JJ?dMT)%a&EDN}?z!hK{QmRv7l4=8jYC01hiV`SjbZVWpL46jdu{7o zSbNxMrNV!svVGc1JaRc)(7}9;OZ8;x#_pIYs2PfR)P2cetba$}danBtF zb{t0%3py4JTtkW>DJu+pw__b0*{>Ml9`CjK-C&a{SE^Sp>c-Il2TLw09n?NUL)VQsqLNX^E+V_3l{2&ag_nD|I3}=(otWg{s?g4u{=_ zTAT#qR? zaD0(d%Thz4CS<Xfm0Sghp^7BxJZh6I_@Er)Pp6;33h8?k6jkK2KH7%>>Wm(G0LY4bIO5KgN>~ z+@dBGDws7_$XRN<^a%+wBED(Sh1C)1LWYI~GBk<;8NETj@FMlTDd{r-#n|So_;FBy srxMMCzt8YIthg6e)Z{?_%~Je50TuZs#Owl6ZA_|#vtxKcrwVrd0<0;--2eap literal 0 HcmV?d00001 diff --git a/HomeWork1/target/classes/org/example/Main.class b/HomeWork1/target/classes/org/example/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..2b6669216ea4e32ff7ec59c4752b179c2510d910 GIT binary patch literal 3094 zcmaJ@YjYFV8Geo}Y1fJXV-VO0kaYr$1lYnRHK`0Fv4cUuHjYK?xR8`%d65>ccGcAi zFir0_+9v6RHX%(j)0woxOsC9{e1J@tg)|=0kjY>JHm<$PNP+tJGy-4;V$^E2aFPTP-;hXs0u z290sL^-W{OmMf-b45hIHJ2mXe;87R?TiP+k_6leXWyw}aL?H$sF$K%1j^^idJVxWg z_ZlD8v0Gr%!9kw%a*SrM~(5C>o!fpZTOb!6b%*A-VFAs zfRcf0h0;ISEtr>OyrQs<&+Ey9_FM-m2CJ zz)ghn_S5$6ZhAPhA*+K*F_ZMm&Plg!$pD?CLHr8a7G6Ua6=nT1z0~* z9Cw!}-lWQNx>a8^z0-2hrle=mtw?)LdY1Z*gbBZ9F)*&(Q=+V_ z2f5yg!1Z|7jTA$pC&-X(Hg`|D?sBUUHKtg6aml)krT-VxaK|5aH6AxP-wHPFGv0Ca-A6e+&X^Q*v7a7^yK1Mxm59jNlHmcd)5 z#&;%EfQ1YE>cTQ?O1N2Eqp=iax9&n)_yApZc+~HrXW7V4`$v*|ADGW3e@BbJOMFxe2|kbV$?+NHb86rI5Ao#m4U7hpV&Vpd z2L1@WFYzaARDO!IdjmTM`Vt@F@C|HLvN6iuSCi+|;-|~B(;4Ksh+fY5Q-*(A_){i} zjg)ML!A6~<!8JUAw~@!Muphs{ z0DjBeHyN|S@F;PbpvO8Kf=|TYqQUVYYJHj3*p2Wmn(&E#7VpsZMMl_*>$t>O0+*?~ z2VI|1l+>`ILDSHq;R^qOf1@n)E2oBjJI!h0+(_y!$_oS8L^hdC z-NB1RO<8y;v>i%6!WRJw`m|d+l7Yd4%F6J)28UM-zOrWUTxd|PH&|&KRL+*TCT=m! zkkbp~2sp&VpF%gG=tYry9wvTAuoq90k!QF%M#*zHj$@c5GiPyvygpC-PvX0nBA=)5 zI$j|Dvv`kJ@lCvlk1>xwurB|?bpDE$@i*RxirXtZA;U|sEp&ls<>Vgx_R9&zw;1kB?utE;u_xK*Z x&wN!~WYF;+TooFw{tGjd{gAQ_{0Ogc+{oGM+CC{Y5B&%I z0ov7NmruU>sJ@rYRznrX>(Z4KU%3LQOO|cAIFf5X19j)3T+2C~Jr9CU$7+wCB6ZuKD#0g}Y2-v75%0H`cIL zlt6qqe?Nm>^cmP=VlVayY~RRXTKaY7=SsWkGy~)7sVjf6IR3hD00#{mGLgf8z|IY? z*(aW_w7IkFv+A%W%PHPrK|ae;vRTsE95FG7qs*qJ{2AF~Ha)}ntqf!t?3jsR zlCC7>OP7c|93L=Z3+hU)JmF~Er+HO2WsQY)GiqgNTDICXW@epbx1uI2&4Sq;tdshH z@N{2u9G{aUThq#~J5_H-3Y?n<_{zZ7x(VM13~o$-Wv@6(sy)Ktah>3>J1%p0+S!w~ zVF)_OF>5GqaLRF(mRqH*WOhh4InF(4sR;829rm{uAFGOA>O3WFh;i9y%v!!GrSXUp zC~{RtdAX4J+~ke1`FjItEOJyfYZh*d-J+t($rHKjbg}(hU9PB{vYq8xJ?Dkp&iPIo zD~)eSt7z|3H7C;G<smX4ndqQ`?b9X~<+O`K~-FLKrP$--|iUhyRc z9Z;tTbO%Aq(4ZYe;8vt__kW#tMLJL6BH?u1qX9DvRrrV%Z`7)Z6 z_~rQM{%1I@`AWaQAlL5E!acpKvW{P|pMHneFa)fk@Dh{S@HvLGU9u5cCLVQKo@!ej zjECCfChh4!J2JA0Ga910ici`xDEf2_r9e;7fi+U9V`?hnK^Jeb`M@C_njF8m10>-v z^E$$B(^2+th=(Q5!VCD4l7~2f?{EqpPU8oh!H=|fhVyvEughB!t&dwFBxb!8?{Ej7 zleWEhfiE!2M)l(t%#qSKG4=ULrMs_+zxfFi`F;xLDU4wOce&=+m3wr47(8Y0tOQRL QJZrFMm7&FBG+<-jzi^}V1ONa4 literal 0 HcmV?d00001 diff --git a/HomeWork1/target/classes/org/example/Wizard.class b/HomeWork1/target/classes/org/example/Wizard.class new file mode 100644 index 0000000000000000000000000000000000000000..fbb20893cfcb475e8b4c7c182ca86b4ccc12c70c GIT binary patch literal 2254 zcmaJ?ZBr9h6n-vwB`%^76%lBtC?Qy*RjU$3FiMRLY7NDzeesf9laBUt<}GR0^A+DU?Rud!xzvj! zdJ{+)*aJf#-3fEw{7$+xfoN0OQb3fn@m>S{+R`v>Us;w}S9VpUsMv2HjROJ+)0?x* zXG$QFoqU+WK^#ipuz^7w5!kyO!-Di1jL(&J&1nY4*W*|JVsiZJ#Rx_d_`pC0V*>lO zZ&lVjUukn^)o0dWPNtK;%Y=NUrDU_9qd8_^9LE_=UHP|VlhF)hCwDWDrn3nHSxgEX zZpsx^bnL41@0)&uC(oC*?+Kjf!d(}z6sB-8fsYKFLSEoN5cSU37*I<`YS|3F8|qRT z0uyN#cS2YAtbublFA!rIH(LQqB`v>T;36(j?uGJbmbKK1V`)TiS!Z-b;9?gKyE*8R zNg7dH)gZGv%u*K%fx#}|r4qwn!xWtw8SgKfwz|FATvqO)T(&4lmz}D#mZWRy@3t`N zH%yW|P~P2p1!CDj_0qfJ7U*e^5?$eiph5e2Ds^-vb)=`Q<7uZZE`48CR|JN#J3Ma< zPeG>=_oYi%cE@{+1d>loS1n7+;)p!tjhbxAI+N|IX#54)YUi1%IIC_|&6}EuJ>hVj z(mlckzvei;=ex4Cp!|kY^ZMi9=sdz#34E>V@QuLu_7Ir%GiOD$r#S4`dCt4zt_i&8 zEKA!k1ii^gvy?YpcAS;fR$(`x9g-av7uQ;gk#|Vs4o2Uh?@e&0sC67Oz3k#h5o-_j z6X!Z5=faz~fq8yuyH9bGxcXG0jrN}oyhnnQ_8+DG7S6Z5=lRz5vD{lEe&(SE+Mx~+ z+~3-X5gN3e2z=J{a^HV1ALx3yj7x;mdCvsQ&{ggzGv3ZsFDKwIGaC#L4h7%wtsLV) zK04}!?pPhXg;+<4HT)hd&4|XjjXPmnqC$o=+i!Cl*!L3AH@{} zGyEe?YQB;`VVv*2ncM^YRbw8%V3_wl+{6iB1G#k+wc%@w#X_U#<4&W~ZKKghsEzH= zo(Z&5QychLd#P>UlQuj>)0-#+dWuFi$)Q5KGjW-3pv@U!du?_oQw_P74D(J z8V%tk7RhD=U(mh}@nqku_?y3PVtk0gB?^0RA7ApFVL=}7^0&cL2G45nRKc?jlU6BO KJY`@uj{FNh$>z@h literal 0 HcmV?d00001