From d9c1fa841f9ce0926d5dc942924a0f2cc3191939 Mon Sep 17 00:00:00 2001 From: seymourimadeit <55965249+seymourimadeit@users.noreply.github.com> Date: Wed, 22 Nov 2023 14:47:02 -0800 Subject: [PATCH] neoforge port????? no way! --- .gitattributes | 7 +- .github/workflows/build.yml | 24 ++ .gitignore | 11 +- CREDITS.txt | 65 ---- README.txt | 3 - build.gradle | 208 ++++++------- gradle.properties | 56 +++- gradle/wrapper/gradle-wrapper.jar | Bin 54708 -> 61574 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 292 +++++++++++------- gradlew.bat | 56 ++-- settings.gradle | 12 + .../guardvillagers/GuardEntityType.java | 14 +- .../tallestegg/guardvillagers/GuardItems.java | 22 +- .../guardvillagers/GuardLootTables.java | 15 +- .../guardvillagers/GuardPacketHandler.java | 16 +- .../guardvillagers/GuardVillagers.java | 47 +-- .../guardvillagers/HandlerEvents.java | 14 +- .../guardvillagers/VillagerToGuard.java | 19 +- .../client/GuardClientEvents.java | 8 +- .../guardvillagers/client/GuardSounds.java | 21 +- .../client/gui/GuardInventoryScreen.java | 4 +- .../configuration/GuardConfig.java | 86 +++--- .../guardvillagers/entities/Guard.java | 49 +-- .../entities/ai/goals/FollowShieldGuards.java | 3 +- .../entities/ai/goals/RaiseShieldGoal.java | 15 +- .../networking/GuardFollowPacket.java | 37 ++- .../networking/GuardOpenInventoryPacket.java | 4 +- .../networking/GuardSetPatrolPosPacket.java | 4 +- .../resources/META-INF/accesstransformer.cfg | 24 +- src/main/resources/META-INF/mods.toml | 51 +-- src/main/resources/guard_villagers.png | Bin 0 -> 74349 bytes src/main/resources/pack.mcmeta | 11 +- 33 files changed, 635 insertions(+), 566 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 CREDITS.txt delete mode 100644 README.txt create mode 100644 settings.gradle create mode 100644 src/main/resources/guard_villagers.png diff --git a/.gitattributes b/.gitattributes index dfe0770..f811f6a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,5 @@ -# Auto detect text files and perform LF normalization -* text=auto +# Disable autocrlf on generated files, they always generate with LF +# Add any extra files or paths here to make git stop saying they +# are changed when only line endings change. +src/generated/**/.cache/cache text eol=lf +src/generated/**/*.json text eol=lf diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..bf864e1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +name: Build + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 1000 + fetch-tags: true + + - name: Setup JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Build with Gradle + uses: gradle/gradle-build-action@v2 + with: + arguments: build diff --git a/.gitignore b/.gitignore index ec1c3e3..31d2550 100644 --- a/.gitignore +++ b/.gitignore @@ -20,12 +20,7 @@ build # other eclipse run +runs +run-data -# Files from Forge MDK -forge*changelog.txt -runData.launch -runClient.launch -runServer.launch -runClient.launch -*.launch -*.launch +repo \ No newline at end of file diff --git a/CREDITS.txt b/CREDITS.txt deleted file mode 100644 index a70c53d..0000000 --- a/CREDITS.txt +++ /dev/null @@ -1,65 +0,0 @@ -Minecraft Forge: Credits/Thank You - -Forge is a set of tools and modifications to the Minecraft base game code to assist -mod developers in creating new and exciting content. It has been in development for -several years now, but I would like to take this time thank a few people who have -helped it along it's way. - -First, the people who originally created the Forge projects way back in Minecraft -alpha. Eloraam of RedPower, and SpaceToad of Buildcraft, without their acceptiance -of me taking over the project, who knows what Minecraft modding would be today. - -Secondly, someone who has worked with me, and developed some of the core features -that allow modding to be as functional, and as simple as it is, cpw. For developing -FML, which stabelized the client and server modding ecosystem. As well as the base -loading system that allows us to modify Minecraft's code as elegently as possible. - -Mezz, who has stepped up as the issue and pull request manager. Helping to keep me -sane as well as guiding the community into creating better additions to Forge. - -Searge, Bspks, Fesh0r, ProfMobious, and all the rest over on the MCP team {of which -I am a part}. For creating some of the core tools needed to make Minecraft modding -both possible, and as stable as can be. - On that note, here is some specific information of the MCP data we use: - * Minecraft Coder Pack (MCP) * - Forge Mod Loader and Minecraft Forge have permission to distribute and automatically - download components of MCP and distribute MCP data files. This permission is not - transitive and others wishing to redistribute the Minecraft Forge source independently - should seek permission of MCP or remove the MCP data files and request their users - to download MCP separately. - -And lastly, the countless community members who have spent time submitting bug reports, -pull requests, and just helping out the community in general. Thank you. - ---LexManos - -========================================================================= - -This is Forge Mod Loader. - -You can find the source code at all times at https://github.com/MinecraftForge/MinecraftForge/tree/1.12.x/src/main/java/net/minecraftforge/fml - -This minecraft mod is a clean open source implementation of a mod loader for minecraft servers -and minecraft clients. - -The code is authored by cpw. - -It began by partially implementing an API defined by the client side ModLoader, authored by Risugami. -http://www.minecraftforum.net/topic/75440- -This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader. - -It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge. -http://www.minecraftforge.net/ - -Additionally, it contains an implementation of topological sort based on that -published at http://keithschwarz.com/interesting/code/?dir=topological-sort - -It also contains code from the Maven project for performing versioned dependency -resolution. http://maven.apache.org/ - -It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/ -with credit to it's authors. - -Forge Mod Loader downloads components from the Minecraft Coder Pack -(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team. - diff --git a/README.txt b/README.txt deleted file mode 100644 index e9ab7dc..0000000 --- a/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Village Pest Control. - -https://www.curseforge.com/minecraft/mc-mods/guard-villagers diff --git a/build.gradle b/build.gradle index 9269a43..4b5845a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,149 +1,113 @@ -buildscript { - repositories { - maven { url = 'https://maven.minecraftforge.net/' } - maven { url = 'https://maven.parchmentmc.org' } - maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } - jcenter() - mavenCentral() - } - dependencies { - classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '[6.0.14,6.2)', changing: true - classpath 'org.parchmentmc:librarian:1.+' - classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT' - } -} -apply plugin: 'net.minecraftforge.gradle' -// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. -apply plugin: 'eclipse' -apply plugin: 'maven-publish' -apply plugin: 'org.parchmentmc.librarian.forgegradle' -apply plugin: 'org.spongepowered.mixin' - -mixin { - add sourceSets.main, "guardvillagers.refmap.json" +plugins { + id 'java-library' + id 'eclipse' + id 'idea' + id 'maven-publish' + id 'net.neoforged.gradle.userdev' version '7.0.45' } +version = mod_version +group = mod_group_id -version = '1.20.2-1.6.4' -group = 'tallestegg.guardvillagers' // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = 'guardvillagers' - -java.toolchain.languageVersion = JavaLanguageVersion.of(17) - -minecraft { - // The mappings can be changed at any time, and must be in the following format. - // snapshot_YYYYMMDD Snapshot are built nightly. - // stable_# Stables are built at the discretion of the MCP team. - // Use non-default mappings at your own risk. they may not always work. - // Simply re-run your setup task after changing the mappings to update your workspace. - mappings channel: 'parchment', version: "1.20.1-2023.06.26-1.20.2" - // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. - - accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') - - // Default run configurations. - // These can be tweaked, removed, or duplicated as needed. - runs { - client { - workingDirectory project.file('run') - - // Recommended logging data for a userdev environment - property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' - - // Recommended logging level for the console - property 'forge.logging.console.level', 'debug' - arg "-mixin.config=guardvillagers.mixins.json" - - mods { - examplemod { - source sourceSets.main - } - } - } - - server { - workingDirectory project.file('run') +repositories { + mavenLocal() +} - // Recommended logging data for a userdev environment - property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' +base { + archivesName = mod_id +} - // Recommended logging level for the console - property 'forge.logging.console.level', 'debug' - arg "-mixin.config=guardvillagers.mixins.json" +// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. +java.toolchain.languageVersion = JavaLanguageVersion.of(17) - mods { - examplemod { - source sourceSets.main - } - } - } +minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') + +// Default run configurations. +// These can be tweaked, removed, or duplicated as needed. +runs { + // applies to all the run configs below + configureEach { + // Recommended logging data for a userdev environment + // The markers can be added/remove as needed separated by commas. + // "SCAN": For mods scan. + // "REGISTRIES": For firing of registry events. + // "REGISTRYDUMP": For getting the contents of all registries. + systemProperty 'forge.logging.markers', 'REGISTRIES' + + // Recommended logging level for the console + // You can set various levels here. + // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels + systemProperty 'forge.logging.console.level', 'debug' + + modSource project.sourceSets.main + } - data { - workingDirectory project.file('run') + client { + // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. + systemProperty 'forge.enabledGameTestNamespaces', project.mod_id + } - // Recommended logging data for a userdev environment - property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' + server { + systemProperty 'forge.enabledGameTestNamespaces', project.mod_id + programArgument '--nogui' + } - // Recommended logging level for the console - property 'forge.logging.console.level', 'debug' - arg "-mixin.config=guardvillagers.mixins.json" + // This run config launches GameTestServer and runs all registered gametests, then exits. + // By default, the server will crash when no gametests are provided. + // The gametest system is also enabled by default for other run configs under the /test command. + gameTestServer { + systemProperty 'forge.enabledGameTestNamespaces', project.mod_id + } - args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/') + data { + // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it + // workingDirectory project.file('run-data') - mods { - examplemod { - source sourceSets.main - } - } - } + // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. + programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() } } -dependencies { - minecraft 'net.minecraftforge:forge:1.20.2-48.0.34' - annotationProcessor "org.spongepowered:mixin:0.8.5:processor" -} +// Include resources generated by data generators. +sourceSets.main.resources { srcDir 'src/generated/resources' } -repositories { - maven { - url "https://www.cursemaven.com" - } -} -// Example for how to get properties into the manifest for reading by the runtime.. -jar { - manifest { - attributes([ - "Specification-Title": "examplemod", - "Specification-Vendor": "examplemodsareus", - "Specification-Version": "1", // We are version 1 of ourselves - "Implementation-Title": project.name, - "Implementation-Version": "${version}", - "Implementation-Vendor" :"examplemodsareus", - "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), - "MixinConfigs": "guardvillagers.mixins.json" - ]) - } +dependencies { + implementation "net.neoforged:neoforge:${neo_version}" } -// Example configuration to allow publishing using the maven-publish task -// we define a custom artifact that is sourced from the reobfJar output task -// and then declare that to be published -// Note you'll need to add a repository here -def reobfFile = file("$buildDir/reobfJar/output.jar") -def reobfArtifact = artifacts.add('default', reobfFile) { - type 'jar' - builtBy 'reobfJar' +// This block of code expands all declared replace properties in the specified resource targets. +// A missing property will result in an error. Properties are expanded using ${} Groovy notation. +// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments. +// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html +tasks.withType(ProcessResources).configureEach { + var replaceProperties = [ + minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range, + neo_version : neo_version, neo_version_range: neo_version_range, + loader_version_range: loader_version_range, + mod_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version, + mod_authors : mod_authors, mod_description: mod_description, pack_format_number: pack_format_number, + ] + inputs.properties replaceProperties + + filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { + expand replaceProperties + [project: project] + } } +// Example configuration to allow publishing using the maven-publish plugin publishing { publications { - mavenJava(MavenPublication) { - artifact reobfArtifact + register('mavenJava', MavenPublication) { + from components.java } } repositories { maven { - url "file:///${project.projectDir}/mcmodsrepo" + url "file://${project.projectDir}/repo" } } -} \ No newline at end of file +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation +} diff --git a/gradle.properties b/gradle.properties index 42fba16..98f4cad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,58 @@ # This is required to provide enough memory for the Minecraft decompilation process. org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -distributionUrl=https://services.gradle.org/distributions/gradle-7.2-bin.zip +org.gradle.debug=false + +## Environment Properties + +# The Minecraft version must agree with the Neo version to get a valid artifact +minecraft_version=1.20.2 +# The Minecraft version range can use any release version of Minecraft as bounds. +# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly +# as they do not follow standard versioning conventions. +minecraft_version_range=[1.20.2,1.21) +# The Neo version must agree with the Minecraft version to get a valid artifact +neo_version=20.2.59-beta +# The Neo version range can use any version of Neo as bounds or match the loader version range +neo_version_range=[20.2,) +# The loader version range can only use the major version of Neo/FML as bounds +loader_version_range=[1,) +# The mapping channel to use for mappings. +# The default set of supported mapping channels are ["official", "snapshot", "snapshot_nodoc", "stable", "stable_nodoc"]. +# Additional mapping channels can be registered through the "channelProviders" extension in a Gradle plugin. +# +# | Channel | Version | | +# |-----------|----------------------|--------------------------------------------------------------------------------| +# | official | MCVersion | Official field/method names from Mojang mapping files | +# | parchment | YYYY.MM.DD-MCVersion | Open community-sourced parameter names and javadocs layered on top of official | +# +# You must be aware of the Mojang license when using the 'official' or 'parchment' mappings. +# See more information here: https://github.com/neoforged/NeoForm/blob/main/Mojang.md +# +# Parchment is an unofficial project maintained by ParchmentMC, separate from Minecraft Forge. +# Additional setup is needed to use their mappings, see https://parchmentmc.org/docs/getting-started +mapping_channel=official +# The mapping version to query from the mapping channel. +# This must match the format required by the mapping channel. +mapping_version=1.20.2 + + +## Mod Properties + +# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63} +# Must match the String constant located in the main mod class annotated with @Mod. +mod_id=guardvillagers +# The human-readable display name for the mod. +mod_name=Guard Villagers +# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. +mod_license=MIT for code, assets are ARR +# The mod version. See https://semver.org/ +mod_version=2.0.0-1.20.2 +# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. +# This should match the base package used for the mod sources. +# See https://maven.apache.org/guides/mini/guide-naming-conventions.html +mod_group_id=tallestegg.guardvillagers +# The authors of the mod. This is a simple text string that is used for display purposes in the mod list. +mod_authors=TallestEgg, HadeZ/SadNya69 for the textures. +mod_description=Need some help with pest control? The Guards are ready to help! +pack_format_number=18 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7a3265ee94c0ab25cf079ac8ccdf87f41d455d42..943f0cbfa754578e88a3dae77fce6e3dea56edbf 100644 GIT binary patch literal 61574 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 ScNgau(U?ep-K_E5zy1%ZQTdPn literal 54708 zcmagFV|ZrKvM!pAZQHhO+qP}9lTNj?q^^Y^VFp)SH8qbSJ)2BQ2girk4u zvO<3q)c?v~^Z#E_K}1nTQbJ9gQ9<%vVRAxVj)8FwL5_iTdUB>&m3fhE=kRWl;g`&m z!W5kh{WsV%fO*%je&j+Lv4xxK~zsEYQls$Q-p&dwID|A)!7uWtJF-=Tm1{V@#x*+kUI$=%KUuf2ka zjiZ{oiL1MXE2EjciJM!jrjFNwCh`~hL>iemrqwqnX?T*MX;U>>8yRcZb{Oy+VKZos zLiFKYPw=LcaaQt8tj=eoo3-@bG_342HQ%?jpgAE?KCLEHC+DmjxAfJ%Og^$dpC8Xw zAcp-)tfJm}BPNq_+6m4gBgBm3+CvmL>4|$2N$^Bz7W(}fz1?U-u;nE`+9`KCLuqg} zwNstNM!J4Uw|78&Y9~9>MLf56to!@qGkJw5Thx%zkzj%Ek9Nn1QA@8NBXbwyWC>9H z#EPwjMNYPigE>*Ofz)HfTF&%PFj$U6mCe-AFw$U%-L?~-+nSXHHKkdgC5KJRTF}`G zE_HNdrE}S0zf4j{r_f-V2imSqW?}3w-4=f@o@-q+cZgaAbZ((hn))@|eWWhcT2pLpTpL!;_5*vM=sRL8 zqU##{U#lJKuyqW^X$ETU5ETeEVzhU|1m1750#f}38_5N9)B_2|v@1hUu=Kt7-@dhA zq_`OMgW01n`%1dB*}C)qxC8q;?zPeF_r;>}%JYmlER_1CUbKa07+=TV45~symC*g8 zW-8(gag#cAOuM0B1xG8eTp5HGVLE}+gYTmK=`XVVV*U!>H`~j4+ROIQ+NkN$LY>h4 zqpwdeE_@AX@PL};e5vTn`Ro(EjHVf$;^oiA%@IBQq>R7_D>m2D4OwwEepkg}R_k*M zM-o;+P27087eb+%*+6vWFCo9UEGw>t&WI17Pe7QVuoAoGHdJ(TEQNlJOqnjZ8adCb zI`}op16D@v7UOEo%8E-~m?c8FL1utPYlg@m$q@q7%mQ4?OK1h%ODjTjFvqd!C z-PI?8qX8{a@6d&Lb_X+hKxCImb*3GFemm?W_du5_&EqRq!+H?5#xiX#w$eLti-?E$;Dhu`{R(o>LzM4CjO>ICf z&DMfES#FW7npnbcuqREgjPQM#gs6h>`av_oEWwOJZ2i2|D|0~pYd#WazE2Bbsa}X@ zu;(9fi~%!VcjK6)?_wMAW-YXJAR{QHxrD5g(ou9mR6LPSA4BRG1QSZT6A?kelP_g- zH(JQjLc!`H4N=oLw=f3{+WmPA*s8QEeEUf6Vg}@!xwnsnR0bl~^2GSa5vb!Yl&4!> zWb|KQUsC$lT=3A|7vM9+d;mq=@L%uWKwXiO9}a~gP4s_4Yohc!fKEgV7WbVo>2ITbE*i`a|V!^p@~^<={#?Gz57 zyPWeM2@p>D*FW#W5Q`1`#5NW62XduP1XNO(bhg&cX`-LYZa|m-**bu|>}S;3)eP8_ zpNTnTfm8 ze+7wDH3KJ95p)5tlwk`S7mbD`SqHnYD*6`;gpp8VdHDz%RR_~I_Ar>5)vE-Pgu7^Y z|9Px+>pi3!DV%E%4N;ii0U3VBd2ZJNUY1YC^-e+{DYq+l@cGtmu(H#Oh%ibUBOd?C z{y5jW3v=0eV0r@qMLgv1JjZC|cZ9l9Q)k1lLgm))UR@#FrJd>w^`+iy$c9F@ic-|q zVHe@S2UAnc5VY_U4253QJxm&Ip!XKP8WNcnx9^cQ;KH6PlW8%pSihSH2(@{2m_o+m zr((MvBja2ctg0d0&U5XTD;5?d?h%JcRJp{_1BQW1xu&BrA3(a4Fh9hon-ly$pyeHq zG&;6q?m%NJ36K1Sq_=fdP(4f{Hop;_G_(i?sPzvB zDM}>*(uOsY0I1j^{$yn3#U(;B*g4cy$-1DTOkh3P!LQ;lJlP%jY8}Nya=h8$XD~%Y zbV&HJ%eCD9nui-0cw!+n`V~p6VCRqh5fRX z8`GbdZ@73r7~myQLBW%db;+BI?c-a>Y)m-FW~M=1^|<21_Sh9RT3iGbO{o-hpN%d6 z7%++#WekoBOP^d0$$|5npPe>u3PLvX_gjH2x(?{&z{jJ2tAOWTznPxv-pAv<*V7r$ z6&glt>7CAClWz6FEi3bToz-soY^{ScrjwVPV51=>n->c(NJngMj6TyHty`bfkF1hc zkJS%A@cL~QV0-aK4>Id!9dh7>0IV;1J9(myDO+gv76L3NLMUm9XyPauvNu$S<)-|F zZS}(kK_WnB)Cl`U?jsdYfAV4nrgzIF@+%1U8$poW&h^c6>kCx3;||fS1_7JvQT~CV zQ8Js+!p)3oW>Df(-}uqC`Tcd%E7GdJ0p}kYj5j8NKMp(KUs9u7?jQ94C)}0rba($~ zqyBx$(1ae^HEDG`Zc@-rXk1cqc7v0wibOR4qpgRDt#>-*8N3P;uKV0CgJE2SP>#8h z=+;i_CGlv+B^+$5a}SicVaSeaNn29K`C&=}`=#Nj&WJP9Xhz4mVa<+yP6hkrq1vo= z1rX4qg8dc4pmEvq%NAkpMK>mf2g?tg_1k2%v}<3`$6~Wlq@ItJ*PhHPoEh1Yi>v57 z4k0JMO)*=S`tKvR5gb-(VTEo>5Y>DZJZzgR+j6{Y`kd|jCVrg!>2hVjz({kZR z`dLlKhoqT!aI8=S+fVp(5*Dn6RrbpyO~0+?fy;bm$0jmTN|t5i6rxqr4=O}dY+ROd zo9Et|x}!u*xi~>-y>!M^+f&jc;IAsGiM_^}+4|pHRn{LThFFpD{bZ|TA*wcGm}XV^ zr*C6~@^5X-*R%FrHIgo-hJTBcyQ|3QEj+cSqp#>&t`ZzB?cXM6S(lRQw$I2?m5=wd z78ki`R?%;o%VUhXH?Z#(uwAn9$m`npJ=cA+lHGk@T7qq_M6Zoy1Lm9E0UUysN)I_x zW__OAqvku^>`J&CB=ie@yNWsaFmem}#L3T(x?a`oZ+$;3O-icj2(5z72Hnj=9Z0w% z<2#q-R=>hig*(t0^v)eGq2DHC%GymE-_j1WwBVGoU=GORGjtaqr0BNigOCqyt;O(S zKG+DoBsZU~okF<7ahjS}bzwXxbAxFfQAk&O@>LsZMsZ`?N?|CDWM(vOm%B3CBPC3o z%2t@%H$fwur}SSnckUm0-k)mOtht`?nwsDz=2#v=RBPGg39i#%odKq{K^;bTD!6A9 zskz$}t)sU^=a#jLZP@I=bPo?f-L}wpMs{Tc!m7-bi!Ldqj3EA~V;4(dltJmTXqH0r z%HAWKGutEc9vOo3P6Q;JdC^YTnby->VZ6&X8f{obffZ??1(cm&L2h7q)*w**+sE6dG*;(H|_Q!WxU{g)CeoT z(KY&bv!Usc|m+Fqfmk;h&RNF|LWuNZ!+DdX*L=s-=_iH=@i` z?Z+Okq^cFO4}_n|G*!)Wl_i%qiMBaH8(WuXtgI7EO=M>=i_+;MDjf3aY~6S9w0K zUuDO7O5Ta6+k40~xh~)D{=L&?Y0?c$s9cw*Ufe18)zzk%#ZY>Tr^|e%8KPb0ht`b( zuP@8#Ox@nQIqz9}AbW0RzE`Cf>39bOWz5N3qzS}ocxI=o$W|(nD~@EhW13Rj5nAp; zu2obEJa=kGC*#3=MkdkWy_%RKcN=?g$7!AZ8vBYKr$ePY(8aIQ&yRPlQ=mudv#q$q z4%WzAx=B{i)UdLFx4os?rZp6poShD7Vc&mSD@RdBJ=_m^&OlkEE1DFU@csgKcBifJ zz4N7+XEJhYzzO=86 z#%eBQZ$Nsf2+X0XPHUNmg#(sNt^NW1Y0|M(${e<0kW6f2q5M!2YE|hSEQ*X-%qo(V zHaFwyGZ0on=I{=fhe<=zo{=Og-_(to3?cvL4m6PymtNsdDINsBh8m>a%!5o3s(en) z=1I z6O+YNertC|OFNqd6P=$gMyvmfa`w~p9*gKDESFqNBy(~Zw3TFDYh}$iudn)9HxPBi zdokK@o~nu?%imcURr5Y~?6oo_JBe}t|pU5qjai|#JDyG=i^V~7+a{dEnO<(y>ahND#_X_fcEBNiZ)uc&%1HVtx8Ts z*H_Btvx^IhkfOB#{szN*n6;y05A>3eARDXslaE>tnLa>+`V&cgho?ED+&vv5KJszf zG4@G;7i;4_bVvZ>!mli3j7~tPgybF5|J6=Lt`u$D%X0l}#iY9nOXH@(%FFJLtzb%p zzHfABnSs;v-9(&nzbZytLiqqDIWzn>JQDk#JULcE5CyPq_m#4QV!}3421haQ+LcfO*>r;rg6K|r#5Sh|y@h1ao%Cl)t*u`4 zMTP!deC?aL7uTxm5^nUv#q2vS-5QbBKP|drbDXS%erB>fYM84Kpk^au99-BQBZR z7CDynflrIAi&ahza+kUryju5LR_}-Z27g)jqOc(!Lx9y)e z{cYc&_r947s9pteaa4}dc|!$$N9+M38sUr7h(%@Ehq`4HJtTpA>B8CLNO__@%(F5d z`SmX5jbux6i#qc}xOhumzbAELh*Mfr2SW99=WNOZRZgoCU4A2|4i|ZVFQt6qEhH#B zK_9G;&h*LO6tB`5dXRSBF0hq0tk{2q__aCKXYkP#9n^)@cq}`&Lo)1KM{W+>5mSed zKp~=}$p7>~nK@va`vN{mYzWN1(tE=u2BZhga5(VtPKk(*TvE&zmn5vSbjo zZLVobTl%;t@6;4SsZ>5+U-XEGUZGG;+~|V(pE&qqrp_f~{_1h@5ZrNETqe{bt9ioZ z#Qn~gWCH!t#Ha^n&fT2?{`}D@s4?9kXj;E;lWV9Zw8_4yM0Qg-6YSsKgvQ*fF{#Pq z{=(nyV>#*`RloBVCs;Lp*R1PBIQOY=EK4CQa*BD0MsYcg=opP?8;xYQDSAJBeJpw5 zPBc_Ft9?;<0?pBhCmOtWU*pN*;CkjJ_}qVic`}V@$TwFi15!mF1*m2wVX+>5p%(+R zQ~JUW*zWkalde{90@2v+oVlkxOZFihE&ZJ){c?hX3L2@R7jk*xjYtHi=}qb+4B(XJ z$gYcNudR~4Kz_WRq8eS((>ALWCO)&R-MXE+YxDn9V#X{_H@j616<|P(8h(7z?q*r+ zmpqR#7+g$cT@e&(%_|ipI&A%9+47%30TLY(yuf&*knx1wNx|%*H^;YB%ftt%5>QM= z^i;*6_KTSRzQm%qz*>cK&EISvF^ovbS4|R%)zKhTH_2K>jP3mBGn5{95&G9^a#4|K zv+!>fIsR8z{^x4)FIr*cYT@Q4Z{y}};rLHL+atCgHbfX*;+k&37DIgENn&=k(*lKD zG;uL-KAdLn*JQ?@r6Q!0V$xXP=J2i~;_+i3|F;_En;oAMG|I-RX#FwnmU&G}w`7R{ z788CrR-g1DW4h_`&$Z`ctN~{A)Hv_-Bl!%+pfif8wN32rMD zJDs$eVWBYQx1&2sCdB0!vU5~uf)=vy*{}t{2VBpcz<+~h0wb7F3?V^44*&83Z2#F` z32!rd4>uc63rQP$3lTH3zb-47IGR}f)8kZ4JvX#toIpXH`L%NnPDE~$QI1)0)|HS4 zVcITo$$oWWwCN@E-5h>N?Hua!N9CYb6f8vTFd>h3q5Jg-lCI6y%vu{Z_Uf z$MU{{^o~;nD_@m2|E{J)q;|BK7rx%`m``+OqZAqAVj-Dy+pD4-S3xK?($>wn5bi90CFAQ+ACd;&m6DQB8_o zjAq^=eUYc1o{#+p+ zn;K<)Pn*4u742P!;H^E3^Qu%2dM{2slouc$AN_3V^M7H_KY3H)#n7qd5_p~Za7zAj|s9{l)RdbV9e||_67`#Tu*c<8!I=zb@ z(MSvQ9;Wrkq6d)!9afh+G`!f$Ip!F<4ADdc*OY-y7BZMsau%y?EN6*hW4mOF%Q~bw z2==Z3^~?q<1GTeS>xGN-?CHZ7a#M4kDL zQxQr~1ZMzCSKFK5+32C%+C1kE#(2L=15AR!er7GKbp?Xd1qkkGipx5Q~FI-6zt< z*PTpeVI)Ngnnyaz5noIIgNZtb4bQdKG{Bs~&tf)?nM$a;7>r36djllw%hQxeCXeW^ z(i6@TEIuxD<2ulwLTt|&gZP%Ei+l!(%p5Yij6U(H#HMkqM8U$@OKB|5@vUiuY^d6X zW}fP3;Kps6051OEO(|JzmVU6SX(8q>*yf*x5QoxDK={PH^F?!VCzES_Qs>()_y|jg6LJlJWp;L zKM*g5DK7>W_*uv}{0WUB0>MHZ#oJZmO!b3MjEc}VhsLD~;E-qNNd?x7Q6~v zR=0$u>Zc2Xr}>x_5$-s#l!oz6I>W?lw;m9Ae{Tf9eMX;TI-Wf_mZ6sVrMnY#F}cDd z%CV*}fDsXUF7Vbw>PuDaGhu631+3|{xp<@Kl|%WxU+vuLlcrklMC!Aq+7n~I3cmQ! z`e3cA!XUEGdEPSu``&lZEKD1IKO(-VGvcnSc153m(i!8ohi`)N2n>U_BemYJ`uY>8B*Epj!oXRLV}XK}>D*^DHQ7?NY*&LJ9VSo`Ogi9J zGa;clWI8vIQqkngv2>xKd91K>?0`Sw;E&TMg&6dcd20|FcTsnUT7Yn{oI5V4@Ow~m zz#k~8TM!A9L7T!|colrC0P2WKZW7PNj_X4MfESbt<-soq*0LzShZ}fyUx!(xIIDwx zRHt^_GAWe0-Vm~bDZ(}XG%E+`XhKpPlMBo*5q_z$BGxYef8O!ToS8aT8pmjbPq)nV z%x*PF5ZuSHRJqJ!`5<4xC*xb2vC?7u1iljB_*iUGl6+yPyjn?F?GOF2_KW&gOkJ?w z3e^qc-te;zez`H$rsUCE0<@7PKGW?7sT1SPYWId|FJ8H`uEdNu4YJjre`8F*D}6Wh z|FQ`xf7yiphHIAkU&OYCn}w^ilY@o4larl?^M7&8YI;hzBIsX|i3UrLsx{QDKwCX< zy;a>yjfJ6!sz`NcVi+a!Fqk^VE^{6G53L?@Tif|j!3QZ0fk9QeUq8CWI;OmO-Hs+F zuZ4sHLA3{}LR2Qlyo+{d@?;`tpp6YB^BMoJt?&MHFY!JQwoa0nTSD+#Ku^4b{5SZVFwU9<~APYbaLO zu~Z)nS#dxI-5lmS-Bnw!(u15by(80LlC@|ynj{TzW)XcspC*}z0~8VRZq>#Z49G`I zgl|C#H&=}n-ajxfo{=pxPV(L*7g}gHET9b*s=cGV7VFa<;Htgjk>KyW@S!|z`lR1( zGSYkEl&@-bZ*d2WQ~hw3NpP=YNHF^XC{TMG$Gn+{b6pZn+5=<()>C!N^jncl0w6BJ zdHdnmSEGK5BlMeZD!v4t5m7ct7{k~$1Ie3GLFoHjAH*b?++s<|=yTF+^I&jT#zuMx z)MLhU+;LFk8bse|_{j+d*a=&cm2}M?*arjBPnfPgLwv)86D$6L zLJ0wPul7IenMvVAK$z^q5<^!)7aI|<&GGEbOr=E;UmGOIa}yO~EIr5xWU_(ol$&fa zR5E(2vB?S3EvJglTXdU#@qfDbCYs#82Yo^aZN6`{Ex#M)easBTe_J8utXu(fY1j|R z9o(sQbj$bKU{IjyhosYahY{63>}$9_+hWxB3j}VQkJ@2$D@vpeRSldU?&7I;qd2MF zSYmJ>zA(@N_iK}m*AMPIJG#Y&1KR)6`LJ83qg~`Do3v^B0>fU&wUx(qefuTgzFED{sJ65!iw{F2}1fQ3= ziFIP{kezQxmlx-!yo+sC4PEtG#K=5VM9YIN0z9~c4XTX?*4e@m;hFM!zVo>A`#566 z>f&3g94lJ{r)QJ5m7Xe3SLau_lOpL;A($wsjHR`;xTXgIiZ#o&vt~ zGR6KdU$FFbLfZCC3AEu$b`tj!9XgOGLSV=QPIYW zjI!hSP#?8pn0@ezuenOzoka8!8~jXTbiJ6+ZuItsWW03uzASFyn*zV2kIgPFR$Yzm zE<$cZlF>R8?Nr2_i?KiripBc+TGgJvG@vRTY2o?(_Di}D30!k&CT`>+7ry2!!iC*X z<@=U0_C#16=PN7bB39w+zPwDOHX}h20Ap);dx}kjXX0-QkRk=cr};GYsjSvyLZa-t zzHONWddi*)RDUH@RTAsGB_#&O+QJaaL+H<<9LLSE+nB@eGF1fALwjVOl8X_sdOYme z0lk!X=S(@25=TZHR7LlPp}fY~yNeThMIjD}pd9+q=j<_inh0$>mIzWVY+Z9p<{D^#0Xk+b_@eNSiR8;KzSZ#7lUsk~NGMcB8C2c=m2l5paHPq`q{S(kdA7Z1a zyfk2Y;w?^t`?@yC5Pz9&pzo}Hc#}mLgDmhKV|PJ3lKOY(Km@Fi2AV~CuET*YfUi}u zfInZnqDX(<#vaS<^fszuR=l)AbqG{}9{rnyx?PbZz3Pyu!eSJK`uwkJU!ORQXy4x83r!PNgOyD33}}L=>xX_93l6njNTuqL8J{l%*3FVn3MG4&Fv*`lBXZ z?=;kn6HTT^#SrPX-N)4EZiIZI!0ByXTWy;;J-Tht{jq1mjh`DSy7yGjHxIaY%*sTx zuy9#9CqE#qi>1misx=KRWm=qx4rk|}vd+LMY3M`ow8)}m$3Ggv&)Ri*ON+}<^P%T5 z_7JPVPfdM=Pv-oH<tecoE}(0O7|YZc*d8`Uv_M*3Rzv7$yZnJE6N_W=AQ3_BgU_TjA_T?a)U1csCmJ&YqMp-lJe`y6>N zt++Bi;ZMOD%%1c&-Q;bKsYg!SmS^#J@8UFY|G3!rtyaTFb!5@e(@l?1t(87ln8rG? z--$1)YC~vWnXiW3GXm`FNSyzu!m$qT=Eldf$sMl#PEfGmzQs^oUd=GIQfj(X=}dw+ zT*oa0*oS%@cLgvB&PKIQ=Ok?>x#c#dC#sQifgMwtAG^l3D9nIg(Zqi;D%807TtUUCL3_;kjyte#cAg?S%e4S2W>9^A(uy8Ss0Tc++ZTjJw1 z&Em2g!3lo@LlDyri(P^I8BPpn$RE7n*q9Q-c^>rfOMM6Pd5671I=ZBjAvpj8oIi$! zl0exNl(>NIiQpX~FRS9UgK|0l#s@#)p4?^?XAz}Gjb1?4Qe4?j&cL$C8u}n)?A@YC zfmbSM`Hl5pQFwv$CQBF=_$Sq zxsV?BHI5bGZTk?B6B&KLdIN-40S426X3j_|ceLla*M3}3gx3(_7MVY1++4mzhH#7# zD>2gTHy*%i$~}mqc#gK83288SKp@y3wz1L_e8fF$Rb}ex+`(h)j}%~Ld^3DUZkgez zOUNy^%>>HHE|-y$V@B}-M|_{h!vXpk01xaD%{l{oQ|~+^>rR*rv9iQen5t?{BHg|% zR`;S|KtUb!X<22RTBA4AAUM6#M?=w5VY-hEV)b`!y1^mPNEoy2K)a>OyA?Q~Q*&(O zRzQI~y_W=IPi?-OJX*&&8dvY0zWM2%yXdFI!D-n@6FsG)pEYdJbuA`g4yy;qrgR?G z8Mj7gv1oiWq)+_$GqqQ$(ZM@#|0j7})=#$S&hZwdoijFI4aCFLVI3tMH5fLreZ;KD zqA`)0l~D2tuIBYOy+LGw&hJ5OyE+@cnZ0L5+;yo2pIMdt@4$r^5Y!x7nHs{@>|W(MzJjATyWGNwZ^4j+EPU0RpAl-oTM@u{lx*i0^yyWPfHt6QwPvYpk9xFMWfBFt!+Gu6TlAmr zeQ#PX71vzN*_-xh&__N`IXv6`>CgV#eA_%e@7wjgkj8jlKzO~Ic6g$cT`^W{R{606 zCDP~+NVZ6DMO$jhL~#+!g*$T!XW63#(ngDn#Qwy71yj^gazS{e;3jGRM0HedGD@pt z?(ln3pCUA(ekqAvvnKy0G@?-|-dh=eS%4Civ&c}s%wF@0K5Bltaq^2Os1n6Z3%?-Q zAlC4goQ&vK6TpgtzkHVt*1!tBYt-`|5HLV1V7*#45Vb+GACuU+QB&hZ=N_flPy0TY zR^HIrdskB#<$aU;HY(K{a3(OQa$0<9qH(oa)lg@Uf>M5g2W0U5 zk!JSlhrw8quBx9A>RJ6}=;W&wt@2E$7J=9SVHsdC?K(L(KACb#z)@C$xXD8^!7|uv zZh$6fkq)aoD}^79VqdJ!Nz-8$IrU(_-&^cHBI;4 z^$B+1aPe|LG)C55LjP;jab{dTf$0~xbXS9!!QdcmDYLbL^jvxu2y*qnx2%jbL%rB z{aP85qBJe#(&O~Prk%IJARcdEypZ)vah%ZZ%;Zk{eW(U)Bx7VlzgOi8)x z`rh4l`@l_Ada7z&yUK>ZF;i6YLGwI*Sg#Fk#Qr0Jg&VLax(nNN$u-XJ5=MsP3|(lEdIOJ7|(x3iY;ea)5#BW*mDV%^=8qOeYO&gIdJVuLLN3cFaN=xZtFB=b zH{l)PZl_j^u+qx@89}gAQW7ofb+k)QwX=aegihossZq*+@PlCpb$rpp>Cbk9UJO<~ zDjlXQ_Ig#W0zdD3&*ei(FwlN#3b%FSR%&M^ywF@Fr>d~do@-kIS$e%wkIVfJ|Ohh=zc zF&Rnic^|>@R%v?@jO}a9;nY3Qrg_!xC=ZWUcYiA5R+|2nsM*$+c$TOs6pm!}Z}dfM zGeBhMGWw3$6KZXav^>YNA=r6Es>p<6HRYcZY)z{>yasbC81A*G-le8~QoV;rtKnkx z;+os8BvEe?0A6W*a#dOudsv3aWs?d% z0oNngyVMjavLjtjiG`!007#?62ClTqqU$@kIY`=x^$2e>iqIy1>o|@Tw@)P)B8_1$r#6>DB_5 zmaOaoE~^9TolgDgooKFuEFB#klSF%9-~d2~_|kQ0Y{Ek=HH5yq9s zDq#1S551c`kSiWPZbweN^A4kWiP#Qg6er1}HcKv{fxb1*BULboD0fwfaNM_<55>qM zETZ8TJDO4V)=aPp_eQjX%||Ud<>wkIzvDlpNjqW>I}W!-j7M^TNe5JIFh#-}zAV!$ICOju8Kx)N z0vLtzDdy*rQN!7r>Xz7rLw8J-(GzQlYYVH$WK#F`i_i^qVlzTNAh>gBWKV@XC$T-` z3|kj#iCquDhiO7NKum07i|<-NuVsX}Q}mIP$jBJDMfUiaWR3c|F_kWBMw0_Sr|6h4 zk`_r5=0&rCR^*tOy$A8K;@|NqwncjZ>Y-75vlpxq%Cl3EgH`}^^~=u zoll6xxY@a>0f%Ddpi;=cY}fyG!K2N-dEyXXmUP5u){4VnyS^T4?pjN@Ot4zjL(Puw z_U#wMH2Z#8Pts{olG5Dy0tZj;N@;fHheu>YKYQU=4Bk|wcD9MbA`3O4bj$hNRHwzb zSLcG0SLV%zywdbuwl(^E_!@&)TdXge4O{MRWk2RKOt@!8E{$BU-AH(@4{gxs=YAz9LIob|Hzto0}9cWoz6Tp2x0&xi#$ zHh$dwO&UCR1Ob2w00-2eG7d4=cN(Y>0R#$q8?||q@iTi+7-w-xR%uMr&StFIthC<# zvK(aPduwuNB}oJUV8+Zl)%cnfsHI%4`;x6XW^UF^e4s3Z@S<&EV8?56Wya;HNs0E> z`$0dgRdiUz9RO9Au3RmYq>K#G=X%*_dUbSJHP`lSfBaN8t-~@F>)BL1RT*9I851A3 z<-+Gb#_QRX>~av#Ni<#zLswtu-c6{jGHR>wflhKLzC4P@b%8&~u)fosoNjk4r#GvC zlU#UU9&0Hv;d%g72Wq?Ym<&&vtA3AB##L}=ZjiTR4hh7J)e>ei} zt*u+>h%MwN`%3}b4wYpV=QwbY!jwfIj#{me)TDOG`?tI!%l=AwL2G@9I~}?_dA5g6 zCKgK(;6Q0&P&K21Tx~k=o6jwV{dI_G+Ba*Zts|Tl6q1zeC?iYJTb{hel*x>^wb|2RkHkU$!+S4OU4ZOKPZjV>9OVsqNnv5jK8TRAE$A&^yRwK zj-MJ3Pl?)KA~fq#*K~W0l4$0=8GRx^9+?w z!QT8*-)w|S^B0)ZeY5gZPI2G(QtQf?DjuK(s^$rMA!C%P22vynZY4SuOE=wX2f8$R z)A}mzJi4WJnZ`!bHG1=$lwaxm!GOnRbR15F$nRC-M*H<*VfF|pQw(;tbSfp({>9^5 zw_M1-SJ9eGF~m(0dvp*P8uaA0Yw+EkP-SWqu zqal$hK8SmM7#Mrs0@OD+%_J%H*bMyZiWAZdsIBj#lkZ!l2c&IpLu(5^T0Ge5PHzR} zn;TXs$+IQ_&;O~u=Jz+XE0wbOy`=6>m9JVG} zJ~Kp1e5m?K3x@@>!D)piw^eMIHjD4RebtR`|IlckplP1;r21wTi8v((KqNqn%2CB< zifaQc&T}*M&0i|LW^LgdjIaX|o~I$`owHolRqeH_CFrqCUCleN130&vH}dK|^kC>) z-r2P~mApHotL4dRX$25lIcRh_*kJaxi^%ZN5-GAAMOxfB!6flLPY-p&QzL9TE%ho( zRwftE3sy5<*^)qYzKkL|rE>n@hyr;xPqncY6QJ8125!MWr`UCWuC~A#G1AqF1@V$kv>@NBvN&2ygy*{QvxolkRRb%Ui zsmKROR%{*g*WjUUod@@cS^4eF^}yQ1>;WlGwOli z+Y$(8I`0(^d|w>{eaf!_BBM;NpCoeem2>J}82*!em=}}ymoXk>QEfJ>G(3LNA2-46 z5PGvjr)Xh9>aSe>vEzM*>xp{tJyZox1ZRl}QjcvX2TEgNc^(_-hir@Es>NySoa1g^ zFow_twnHdx(j?Q_3q51t3XI7YlJ4_q&(0#)&a+RUy{IcBq?)eaWo*=H2UUVIqtp&lW9JTJiP&u zw8+4vo~_IJXZIJb_U^&=GI1nSD%e;P!c{kZALNCm5c%%oF+I3DrA63_@4)(v4(t~JiddILp7jmoy+>cD~ivwoctFfEL zP*#2Rx?_&bCpX26MBgp^4G>@h`Hxc(lnqyj!*t>9sOBcXN(hTwEDpn^X{x!!gPX?1 z*uM$}cYRwHXuf+gYTB}gDTcw{TXSOUU$S?8BeP&sc!Lc{{pEv}x#ELX>6*ipI1#>8 zKes$bHjiJ1OygZge_ak^Hz#k;=od1wZ=o71ba7oClBMq>Uk6hVq|ePPt)@FM5bW$I z;d2Or@wBjbTyZj|;+iHp%Bo!Vy(X3YM-}lasMItEV_QrP-Kk_J4C>)L&I3Xxj=E?| zsAF(IfVQ4w+dRRnJ>)}o^3_012YYgFWE)5TT=l2657*L8_u1KC>Y-R{7w^ShTtO;VyD{dezY;XD@Rwl_9#j4Uo!1W&ZHVe0H>f=h#9k>~KUj^iUJ%@wU{Xuy z3FItk0<;}6D02$u(RtEY#O^hrB>qgxnOD^0AJPGC9*WXw_$k%1a%-`>uRIeeAIf3! zbx{GRnG4R$4)3rVmg63gW?4yIWW_>;t3>4@?3}&ct0Tk}<5ljU>jIN1 z&+mzA&1B6`v(}i#vAzvqWH~utZzQR;fCQGLuCN|p0hey7iCQ8^^dr*hi^wC$bTk`8M(JRKtQuXlSf$d(EISvuY0dM z7&ff;p-Ym}tT8^MF5ACG4sZmAV!l;0h&Mf#ZPd--_A$uv2@3H!y^^%_&Iw$*p79Uc5@ZXLGK;edg%)6QlvrN`U7H@e^P*0Atd zQB%>4--B1!9yeF(3vk;{>I8+2D;j`zdR8gd8dHuCQ_6|F(5-?gd&{YhLeyq_-V--4 z(SP#rP=-rsSHJSHDpT1{dMAb7-=9K1-@co_!$dG^?c(R-W&a_C5qy2~m3@%vBGhgnrw|H#g9ABb7k{NE?m4xD?;EV+fPdE>S2g$U(&_zGV+TPvaot>W_ zf8yY@)yP8k$y}UHVgF*uxtjW2zX4Hc3;W&?*}K&kqYpi%FHarfaC$ETHpSoP;A692 zR*LxY1^BO1ry@7Hc9p->hd==U@cuo*CiTnozxen;3Gct=?{5P94TgQ(UJoBb`7z@BqY z;q&?V2D1Y%n;^Dh0+eD)>9<}=A|F5{q#epBu#sf@lRs`oFEpkE%mrfwqJNFCpJC$| zy6#N;GF8XgqX(m2yMM2yq@TxStIR7whUIs2ar$t%Avh;nWLwElVBSI#j`l2$lb-!y zK|!?0hJ1T-wL{4uJhOFHp4?@28J^Oh61DbeTeSWub(|dL-KfxFCp0CjQjV`WaPW|U z=ev@VyC>IS@{ndzPy||b3z-bj5{Y53ff}|TW8&&*pu#?qs?)#&M`ACfb;%m+qX{Or zb+FNNHU}mz!@!EdrxmP_6eb3Cah!mL0ArL#EA1{nCY-!jL8zzz7wR6wAw(8K|IpW; zUvH*b1wbuRlwlUt;dQhx&pgsvJcUpm67rzkNc}2XbC6mZAgUn?VxO6YYg=M!#e=z8 zjX5ZLyMyz(VdPVyosL0}ULO!Mxu>hh`-MItnGeuQ;wGaU0)gIq3ZD=pDc(Qtk}APj z#HtA;?idVKNF)&0r|&w#l7DbX%b91b2;l2=L8q#}auVdk{RuYn3SMDo1%WW0tD*62 zaIj65Y38;?-~@b82AF!?Nra2;PU)t~qYUhl!GDK3*}%@~N0GQH7zflSpfP-ydOwNe zOK~w((+pCD&>f!b!On);5m+zUBFJtQ)mV^prS3?XgPybC2%2LiE5w+S4B|lP z+_>3$`g=%P{IrN|1Oxz30R{kI`}ZL!r|)RS@8Do;ZD3_=PbBrrP~S@EdsD{V+`!4v z{MSF}j!6odl33rA+$odIMaK%ersg%xMz>JQ^R+!qNq$5S{KgmGN#gAApX*3ib)TDsVVi>4ypIX|Ik4d6E}v z=8+hs9J=k3@Eiga^^O|ESMQB-O6i+BL*~*8coxjGs{tJ9wXjGZ^Vw@j93O<&+bzAH z9+N^ALvDCV<##cGoo5fX;wySGGmbH zHsslio)cxlud=iP2y=nM>v8vBn*hJ0KGyNOy7dr8yJKRh zywBOa4Lhh58y06`5>ESYXqLt8ZM1axd*UEp$wl`APU}C9m1H8-ModG!(wfSUQ%}rT3JD*ud~?WJdM}x>84)Cra!^J9wGs6^G^ze~eV(d&oAfm$ z_gwq4SHe=<#*FN}$5(0d_NumIZYaqs|MjFtI_rJb^+ZO?*XQ*47mzLNSL7~Nq+nw8 zuw0KwWITC43`Vx9eB!0Fx*CN9{ea$xjCvtjeyy>yf!ywxvv6<*h0UNXwkEyRxX{!e$TgHZ^db3r;1qhT)+yt@|_!@ zQG2aT`;lj>qjY`RGfQE?KTt2mn=HmSR>2!E38n8PlFs=1zsEM}AMICb z86Dbx(+`!hl$p=Z)*W~+?_HYp+CJacrCS-Fllz!7E>8*!E(yCh-cWbKc7)mPT6xu= zfKpF3I+p%yFXkMIq!ALiXF89-aV{I6v+^k#!_xwtQ*Nl#V|hKg=nP=fG}5VB8Ki7) z;19!on-iq&Xyo#AowvpA)RRgF?YBdDc$J8*)2Wko;Y?V6XMOCqT(4F#U2n1jg*4=< z8$MfDYL|z731iEKB3WW#kz|c3qh7AXjyZ}wtSg9xA(ou-pLoxF{4qk^KS?!d3J0!! zqE#R9NYGUyy>DEs%^xW;oQ5Cs@fomcrsN}rI2Hg^6y9kwLPF`K3llX00aM_r)c?ay zevlHA#N^8N+AI=)vx?4(=?j^ba^{umw140V#g58#vtnh8i7vRs*UD=lge;T+I zl1byCNr5H%DF58I2(rk%8hQ;zuCXs=sipbQy?Hd;umv4!fav@LE4JQ^>J{aZ=!@Gc~p$JudMy%0{=5QY~S8YVP zaP6gRqfZ0>q9nR3p+Wa8icNyl0Zn4k*bNto-(+o@-D8cd1Ed7`}dN3%wezkFxj_#_K zyV{msOOG;n+qbU=jBZk+&S$GEwJ99zSHGz8hF1`Xxa^&l8aaD8OtnIVsdF0cz=Y)? zP$MEdfKZ}_&#AC)R%E?G)tjrKsa-$KW_-$QL}x$@$NngmX2bHJQG~77D1J%3bGK!- zl!@kh5-uKc@U4I_Er;~epL!gej`kdX>tSXVFP-BH#D-%VJOCpM(-&pOY+b#}lOe)Z z0MP5>av1Sy-dfYFy%?`p`$P|`2yDFlv(8MEsa++Qv5M?7;%NFQK0E`Ggf3@2aUwtBpCoh`D}QLY%QAnJ z%qcf6!;cjOTYyg&2G27K(F8l^RgdV-V!~b$G%E=HP}M*Q*%xJV3}I8UYYd)>*nMvw zemWg`K6Rgy+m|y!8&*}=+`STm(dK-#b%)8nLsL&0<8Zd^|# z;I2gR&e1WUS#v!jX`+cuR;+yi(EiDcRCouW0AHNd?;5WVnC_Vg#4x56#0FOwTH6_p z#GILFF0>bb_tbmMM0|sd7r%l{U!fI0tGza&?65_D7+x9G zf3GA{c|mnO(|>}y(}%>|2>p0X8wRS&Eb0g)rcICIctfD_I9Wd+hKuEqv?gzEZBxG-rG~e!-2hqaR$Y$I@k{rLyCccE}3d)7Fn3EvfsEhA|bnJ374&pZDq&i zr(9#eq(g8^tG??ZzVk(#jU+-ce`|yiQ1dgrJ)$|wk?XLEqv&M+)I*OZ*oBCizjHuT zjZ|mW=<1u$wPhyo#&rIO;qH~pu4e3X;!%BRgmX%?&KZ6tNl386-l#a>ug5nHU2M~{fM2jvY*Py< zbR&^o&!T19G6V-pV@CB)YnEOfmrdPG%QByD?=if99ihLxP6iA8$??wUPWzptC{u5H z38Q|!=IW`)5Gef4+pz|9fIRXt>nlW)XQvUXBO8>)Q=$@gtwb1iEkU4EOWI4`I4DN5 zTC-Pk6N>2%7Hikg?`Poj5lkM0T_i zoCXfXB&}{TG%IB)ENSfI_Xg3=lxYc6-P059>oK;L+vGMy_h{y9soj#&^q5E!pl(Oq zl)oCBi56u;YHkD)d`!iOAhEJ0A^~T;uE9~Yp0{E%G~0q|9f34F!`P56-ZF{2hSaWj zio%9RR%oe~he22r@&j_d(y&nAUL*ayBY4#CWG&gZ8ybs#UcF?8K#HzziqOYM-<`C& z1gD?j)M0bp1w*U>X_b1@ag1Fx=d*wlr zEAcpmI#5LtqcX95LeS=LXlzh*l;^yPl_6MKk)zPuTz_p8ynQ5;oIOUAoPED=+M6Q( z8YR!DUm#$zTM9tbNhxZ4)J0L&Hpn%U>wj3z<=g;`&c_`fGufS!o|1%I_sA&;14bRC z3`BtzpAB-yl!%zM{Aiok8*X%lDNrPiAjBnzHbF0=Ua*3Lxl(zN3Thj2x6nWi^H7Jlwd2fxIvnI-SiC%*j z2~wIWWKT^5fYipo-#HSrr;(RkzzCSt?THVEH2EPvV-4c#Gu4&1X% z<1zTAM7ZM(LuD@ZPS?c30Ur`;2w;PXPVevxT)Ti25o}1JL>MN5i1^(aCF3 zbp>RI?X(CkR9*Hnv!({Ti@FBm;`Ip%e*D2tWEOc62@$n7+gWb;;j}@G()~V)>s}Bd zw+uTg^ibA(gsp*|&m7Vm=heuIF_pIukOedw2b_uO8hEbM4l=aq?E-7M_J`e(x9?{5 zpbgu7h}#>kDQAZL;Q2t?^pv}Y9Zlu=lO5e18twH&G&byq9XszEeXt$V93dQ@Fz2DV zs~zm*L0uB`+o&#{`uVYGXd?)Fv^*9mwLW4)IKoOJ&(8uljK?3J`mdlhJF1aK;#vlc zJdTJc2Q>N*@GfafVw45B03)Ty8qe>Ou*=f#C-!5uiyQ^|6@Dzp9^n-zidp*O`YuZ|GO28 zO0bqi;)fspT0dS2;PLm(&nLLV&&=Ingn(0~SB6Fr^AxPMO(r~y-q2>gRWv7{zYW6c zfiuqR)Xc41A7Eu{V7$-yxYT-opPtqQIJzMVkxU)cV~N0ygub%l9iHT3eQtB>nH0c` zFy}Iwd9vocxlm!P)eh0GwKMZ(fEk92teSi*fezYw3qRF_E-EcCh-&1T)?beW?9Q_+pde8&UW*(avPF4P}M#z*t~KlF~#5TT!&nu z>FAKF8vQl>Zm(G9UKi4kTqHj`Pf@Z@Q(bmZkseb1^;9k*`a9lKXceKX#dMd@ds`t| z2~UPsbn2R0D9Nm~G*oc@(%oYTD&yK)scA?36B7mndR9l*hNg!3?6>CR+tF1;6sr?V zzz8FBrZ@g4F_!O2igIGZcWd zRe_0*{d6cyy9QQ(|Ct~WTM1pC3({5qHahk*M*O}IPE6icikx48VZ?!0Oc^FVoq`}eu~ zpRq0MYHaBA-`b_BVID}|oo-bem76;B2zo7j7yz(9JiSY6JTjKz#+w{9mc{&#x}>E? zSS3mY$_|scfP3Mo_F5x;r>y&Mquy*Q1b3eF^*hg3tap~%?@ASeyodYa=dF&k=ZyWy z3C+&C95h|9TAVM~-8y(&xcy0nvl}6B*)j0FOlSz%+bK-}S4;F?P`j55*+ZO0Ogk7D z5q30zE@Nup4lqQoG`L%n{T?qn9&WC94%>J`KU{gHIq?n_L;75kkKyib;^?yXUx6BO zju%DyU(l!Vj(3stJ>!pMZ*NZFd60%oSAD1JUXG0~2GCXpB0Am(YPyhzQda-e)b^+f zzFaEZdVTJRJXPJo%w z$?T;xq^&(XjmO>0bNGsT|1{1UqGHHhasPC;H!oX52(AQ7h9*^npOIRdQbNrS0X5#5G?L4V}WsAYcpq-+JNXhSl)XbxZ)L@5Q+?wm{GAU z9a7X8hAjAo;4r_eOdZfXGL@YpmT|#qECEcPTQ;nsjIkQ;!0}g?T>Zr*Fg}%BZVA)4 zCAzvWr?M&)KEk`t9eyFi_GlPV9a2kj9G(JgiZadd_&Eb~#DyZ%2Zcvrda_A47G&uW z^6TnBK|th;wHSo8ivpScU?AM5HDu2+ayzExMJc@?4{h-c`!b($ExB`ro#vkl<;=BA z961c*n(4OR!ebT*7UV7sqL;rZ3+Z)BYs<1I|9F|TOKebtLPxahl|ZXxj4j!gjj!3*+iSb5Zni&EKVt$S{0?2>A}d@3PSF3LUu)5 z*Y#a1uD6Y!$=_ghsPrOqX!OcIP`IW};tZzx1)h_~mgl;0=n zdP|Te_7)~R?c9s>W(-d!@nzQyxqakrME{Tn@>0G)kqV<4;{Q?Z-M)E-|IFLTc}WQr z1Qt;u@_dN2kru_9HMtz8MQx1aDYINH&3<+|HA$D#sl3HZ&YsjfQBv~S>4=u z7gA2*X6_cI$2}JYLIq`4NeXTz6Q3zyE717#>RD&M?0Eb|KIyF;xj;+3#DhC-xOj~! z$-Kx#pQ)_$eHE3Zg?V>1z^A%3jW0JBnd@z`kt$p@lch?A9{j6hXxt$(3|b>SZiBxOjA%LsIPii{=o(B`yRJ>OK;z_ELTi8xHX)il z--qJ~RWsZ%9KCNuRNUypn~<2+mQ=O)kd59$Lul?1ev3c&Lq5=M#I{ zJby%%+Top_ocqv!jG6O6;r0Xwb%vL6SP{O(hUf@8riADSI<|y#g`D)`x^vHR4!&HY`#TQMqM`Su}2(C|KOmG`wyK>uh@3;(prdL{2^7T3XFGznp{-sNLLJH@mh* z^vIyicj9yH9(>~I-Ev7p=yndfh}l!;3Q65}K}()(jp|tC;{|Ln1a+2kbctWEX&>Vr zXp5=#pw)@-O6~Q|><8rd0>H-}0Nsc|J6TgCum{XnH2@hFB09FsoZ_ow^Nv@uGgz3# z<6dRDt1>>-!kN58&K1HFrgjTZ^q<>hNI#n8=hP&pKAL4uDcw*J66((I?!pE0fvY6N zu^N=X8lS}(=w$O_jlE(;M9F={-;4R(K5qa=P#ZVW>}J&s$d0?JG8DZJwZcx3{CjLg zJA>q-&=Ekous)vT9J>fbnZYNUtvox|!Rl@e^a6ue_4-_v=(sNB^I1EPtHCFEs!>kK6B@-MS!(B zST${=v9q6q8YdSwk4}@c6cm$`qZ86ipntH8G~51qIlsYQ)+2_Fg1@Y-ztI#aa~tFD_QUxb zU-?g5B}wU@`tnc_l+B^mRogRghXs!7JZS=A;In1|f(1T(+xfIi zvjccLF$`Pkv2w|c5BkSj>>k%`4o6#?ygojkV78%zzz`QFE6nh{(SSJ9NzVdq>^N>X zpg6+8u7i(S>c*i*cO}poo7c9%i^1o&3HmjY!s8Y$5aO(!>u1>-eai0;rK8hVzIh8b zL53WCXO3;=F4_%CxMKRN^;ggC$;YGFTtHtLmX%@MuMxvgn>396~ zEp>V(dbfYjBX^!8CSg>P2c5I~HItbe(dl^Ax#_ldvCh;D+g6-%WD|$@S6}Fvv*eHc zaKxji+OG|_KyMe2D*fhP<3VP0J1gTgs6JZjE{gZ{SO-ryEhh;W237Q0 z{yrDobsM6S`bPMUzr|lT|99m6XDI$RzW4tQ$|@C2RjhBYPliEXFV#M*5G4;Kb|J8E z0IH}-d^S-53kFRZ)ZFrd2%~Sth-6BN?hnMa_PC4gdWyW3q-xFw&L^x>j<^^S$y_3_ zdZxouw%6;^mg#jG@7L!g9Kdw}{w^X9>TOtHgxLLIbfEG^Qf;tD=AXozE6I`XmOF=# zGt$Wl+7L<8^VI-eSK%F%dqXieK^b!Z3yEA$KL}X@>fD9)g@=DGt|=d(9W%8@Y@!{PI@`Nd zyF?Us(0z{*u6|X?D`kKSa}}Q*HP%9BtDEA^buTlI5ihwe)CR%OR46b+>NakH3SDbZmB2X>c8na&$lk zYg$SzY+EXtq2~$Ep_x<~+YVl<-F&_fbayzTnf<7?Y-un3#+T~ahT+eW!l83sofNt; zZY`eKrGqOux)+RMLgGgsJdcA3I$!#zy!f<$zL0udm*?M5w=h$Boj*RUk8mDPVUC1RC8A`@7PgoBIU+xjB7 z25vky+^7k_|1n1&jKNZkBWUu1VCmS}a|6_+*;fdUZAaIR4G!wv=bAZEXBhcjch6WH zdKUr&>z^P%_LIx*M&x{!w|gij?nigT8)Ol3VicXRL0tU}{vp2fi!;QkVc#I38op3O z=q#WtNdN{x)OzmH;)j{cor)DQ;2%m>xMu_KmTisaeCC@~rQwQTfMml7FZ_ zU2AR8yCY_CT$&IAn3n#Acf*VKzJD8-aphMg(12O9cv^AvLQ9>;f!4mjyxq_a%YH2+{~=3TMNE1 z#r3@ynnZ#p?RCkPK36?o{ILiHq^N5`si(T_cKvO9r3^4pKG0AgDEB@_72(2rvU^-; z%&@st2+HjP%H)u50t81p>(McL{`dTq6u-{JM|d=G1&h-mtjc2{W0%*xuZVlJpUSP-1=U6@5Q#g(|nTVN0icr-sdD~DWR=s}`$#=Wa zt5?|$`5`=TWZevaY9J9fV#Wh~Fw@G~0vP?V#Pd=|nMpSmA>bs`j2e{)(827mU7rxM zJ@ku%Xqhq!H)It~yXm=)6XaPk=$Rpk*4i4*aSBZe+h*M%w6?3&0>>|>GHL>^e4zR!o%aGzUn40SR+TdN%=Dbn zsRfXzGcH#vjc-}7v6yRhl{V5PhE-r~)dnmNz=sDt?*1knNZ>xI5&vBwrosF#qRL-Y z;{W)4W&cO0XMKy?{^d`Xh(2B?j0ioji~G~p5NQJyD6vouyoFE9w@_R#SGZ1DR4GnN z{b=sJ^8>2mq3W;*u2HeCaKiCzK+yD!^i6QhTU5npwO+C~A#5spF?;iuOE>o&p3m1C zmT$_fH8v+5u^~q^ic#pQN_VYvU>6iv$tqx#Sulc%|S7f zshYrWq7IXCiGd~J(^5B1nGMV$)lo6FCTm1LshfcOrGc?HW7g>pV%#4lFbnt#94&Rg{%Zbg;Rh?deMeOP(du*)HryI zCdhO$3|SeaWK<>(jSi%qst${Z(q@{cYz7NA^QO}eZ$K@%YQ^Dt4CXzmvx~lLG{ef8 zyckIVSufk>9^e_O7*w2z>Q$8me4T~NQDq=&F}Ogo#v1u$0xJV~>YS%mLVYqEf~g*j zGkY#anOI9{(f4^v21OvYG<(u}UM!-k;ziH%GOVU1`$0VuO@Uw2N{$7&5MYjTE?Er) zr?oZAc~Xc==KZx-pmoh9KiF_JKU7u0#b_}!dWgC>^fmbVOjuiP2FMq5OD9+4TKg^2 z>y6s|sQhI`=fC<>BnQYV433-b+jBi+N6unz%6EQR%{8L#=4sktI>*3KhX+qAS>+K#}y5KnJ8YuOuzG(Ea5;$*1P$-9Z+V4guyJ#s) zRPH(JPN;Es;H72%c8}(U)CEN}Xm>HMn{n!d(=r*YP0qo*^APwwU5YTTeHKy#85Xj< zEboiH=$~uIVMPg!qbx~0S=g&LZ*IyTJG$hTN zv%2>XF``@S9lnLPC?|myt#P)%7?%e_j*aU4TbTyxO|3!h%=Udp;THL+^oPp<6;TLlIOa$&xeTG_a*dbRDy+(&n1T=MU z+|G5{2UprrhN^AqODLo$9Z2h(3^wtdVIoSk@}wPajVgIoZipRft}^L)2Y@mu;X-F{LUw|s7AQD-0!otW#W9M@A~08`o%W;Bq-SOQavG*e-sy8) zwtaucR0+64B&Pm++-m56MQ$@+t{_)7l-|`1kT~1s!swfc4D9chbawUt`RUOdoxU|j z$NE$4{Ysr@2Qu|K8pD37Yv&}>{_I5N49a@0<@rGHEs}t zwh_+9T0oh@ptMbjy*kbz<&3>LGR-GNsT8{x1g{!S&V7{5tPYX(GF>6qZh>O&F)%_I zkPE-pYo3dayjNQAG+xrI&yMZy590FA1unQ*k*Zfm#f9Z5GljOHBj-B83KNIP1a?<^1vOhDJkma0o- zs(TP=@e&s6fRrU(R}{7eHL*(AElZ&80>9;wqj{|1YQG=o2Le-m!UzUd?Xrn&qd8SJ0mmEYtW;t(;ncW_j6 zGWh4y|KMK^s+=p#%fWxjXo434N`MY<8W`tNH-aM6x{@o?D3GZM&+6t4V3I*3fZd{a z0&D}DI?AQl{W*?|*%M^D5{E>V%;=-r&uQ>*e)cqVY52|F{ptA*`!iS=VKS6y4iRP6 zKUA!qpElT5vZvN}U5k-IpeNOr6KF`-)lN1r^c@HnT#RlZbi(;yuvm9t-Noh5AfRxL@j5dU-X37(?S)hZhRDbf5cbhDO5nSX@WtApyp` zT$5IZ*4*)h8wShkPI45stQH2Y7yD*CX^Dh@B%1MJSEn@++D$AV^ttKXZdQMU`rxiR z+M#45Z2+{N#uR-hhS&HAMFK@lYBWOzU^Xs-BlqQDyN4HwRtP2$kks@UhAr@wlJii%Rq?qy25?Egs z*a&iAr^rbJWlv+pYAVUq9lor}#Cm|D$_ev2d2Ko}`8kuP(ljz$nv3OCDc7zQp|j6W zbS6949zRvj`bhbO(LN3}Pq=$Ld3a_*9r_24u_n)1)}-gRq?I6pdHPYHgIsn$#XQi~ z%&m_&nnO9BKy;G%e~fa7i9WH#MEDNQ8WCXhqqI+oeE5R7hLZT_?7RWVzEGZNz4*Po ze&*a<^Q*ze72}UM&$c%FuuEIN?EQ@mnILwyt;%wV-MV+|d%>=;3f0(P46;Hwo|Wr0 z>&FS9CCb{?+lDpJMs`95)C$oOQ}BSQEv0Dor%-Qj0@kqlIAm1-qSY3FCO2j$br7_w zlpRfAWz3>Gh~5`Uh?ER?@?r0cXjD0WnTx6^AOFii;oqM?|M9QjHd*GK3WwA}``?dK15`ZvG>_nB2pSTGc{n2hYT6QF^+&;(0c`{)*u*X7L_ zaxqyvVm$^VX!0YdpSNS~reC+(uRqF2o>jqIJQkC&X>r8|mBHvLaduM^Mh|OI60<;G zDHx@&jUfV>cYj5+fAqvv(XSmc(nd@WhIDvpj~C#jhZ6@M3cWF2HywB1yJv2#=qoY| zIiaxLsSQa7w;4YE?7y&U&e6Yp+2m(sb5q4AZkKtey{904rT08pJpanm->Z75IdvW^ z!kVBy|CIUZn)G}92_MgoLgHa?LZJDp_JTbAEq8>6a2&uKPF&G!;?xQ*+{TmNB1H)_ z-~m@CTxDry_-rOM2xwJg{fcZ41YQDh{DeI$4!m8c;6XtFkFyf`fOsREJ`q+Bf4nS~ zKDYs4AE7Gugv?X)tu4<-M8ag{`4pfQ14z<(8MYQ4u*fl*DCpq66+Q1-gxNCQ!c$me zyTrmi7{W-MGP!&S-_qJ%9+e08_9`wWGG{i5yLJ;8qbt-n_0*Q371<^u@tdz|;>fPW zE=&q~;wVD_4IQ^^jyYX;2shIMiYdvIpIYRT>&I@^{kL9Ka2ECG>^l>Ae!GTn{r~o= z|I9=J#wNe)zYRqGZ7Q->L{dfewyC$ZYcLaoNormZ3*gfM=da*{heC)&46{yTS!t10 zn_o0qUbQOs$>YuY>YHi|NG^NQG<_@jD&WnZcW^NTC#mhVE7rXlZ=2>mZkx{bc=~+2 z{zVH=Xs0`*K9QAgq9cOtfQ^BHh-yr=qX8hmW*0~uCup89IJMvWy%#yt_nz@6dTS)L{O3vXye< zW4zUNb6d|Tx`XIVwMMgqnyk?c;Kv`#%F0m^<$9X!@}rI##T{iXFC?(ui{;>_9Din8 z7;(754q!Jx(~sb!6+6Lf*l{fqD7GW*v{>3wp+)@wq2abADBK!kI8To}7zooF%}g-z zJ1-1lp-lQI6w^bov9EfhpxRI}`$PTpJI3uo@ZAV729JJ2Hs68{r$C0U=!d$Bm+s(p z8Kgc(Ixf4KrN%_jjJjTx5`&`Ak*Il%!}D_V)GM1WF!k$rDJ-SudXd_Xhl#NWnET&e-P!rH~*nNZTzxj$?^oo3VWc-Ay^`Phze3(Ft!aNW-f_ zeMy&BfNCP^-FvFzR&rh!w(pP5;z1$MsY9Voozmpa&A}>|a{eu}>^2s)So>&kmi#7$ zJS_-DVT3Yi(z+ruKbffNu`c}s`Uo`ORtNpUHa6Q&@a%I%I;lm@ea+IbCLK)IQ~)JY zp`kdQ>R#J*i&Ljer3uz$m2&Un9?W=Ue|hHv?xlM`I&*-M;2{@so--0OAiraN1TLra z>EYQu#)Q@UszfJj&?kr%RraFyi*eG+HD_(!AWB;hPgB5Gd-#VDRxxv*VWMY0hI|t- zR=;TL%EKEg*oet7GtmkM zgH^y*1bfJ*af(_*S1^PWqBVVbejFU&#m`_69IwO!aRW>Rcp~+7w^ptyu>}WFYUf;) zZrgs;EIN9$Immu`$umY%$I)5INSb}aV-GDmPp!d_g_>Ar(^GcOY%2M)Vd7gY9llJR zLGm*MY+qLzQ+(Whs8-=ty2l)G9#82H*7!eo|B6B$q%ak6eCN%j?{SI9|K$u3)ORoz zw{bAGaWHrMb|X^!UL~_J{jO?l^}lI^|7jIn^p{n%JUq9{tC|{GM5Az3SrrPkuCt_W zq#u0JfDw{`wAq`tAJmq~sz`D_P-8qr>kmms>I|);7Tn zLl^n*Ga7l=U)bQmgnSo5r_&#Pc=eXm~W75X9Cyy0WDO|fbSn5 zLgpFAF4fa90T-KyR4%%iOq6$6BNs@3ZV<~B;7V=u zdlB8$lpe`w-LoS;0NXFFu@;^^bc?t@r3^XTe*+0;o2dt&>eMQeDit(SfDxYxuA$uS z**)HYK7j!vJVRNfrcokVc@&(ke5kJzvi};Lyl7@$!`~HM$T!`O`~MQ1k~ZH??fQr zNP)33uBWYnTntKRUT*5lu&8*{fv>syNgxVzEa=qcKQ86Vem%Lpae2LM=TvcJLs?`=o9%5Mh#k*_7zQD|U7;A%=xo^_4+nX{~b1NJ6@ z*=55;+!BIj1nI+)TA$fv-OvydVQB=KK zrGWLUS_Chm$&yoljugU=PLudtJ2+tM(xj|E>Nk?c{-RD$sGYNyE|i%yw>9gPItE{ zD|BS=M>V^#m8r?-3swQofD8j$h-xkg=F+KM%IvcnIvc)y zl?R%u48Jeq7E*26fqtLe_b=9NC_z|axW#$e0adI#r(Zsui)txQ&!}`;;Z%q?y2Kn! zXzFNe+g7+>>`9S0K1rmd)B_QVMD?syc3e0)X*y6(RYH#AEM9u?V^E0GHlAAR)E^4- zjKD+0K=JKtf5DxqXSQ!j?#2^ZcQoG5^^T+JaJa3GdFeqIkm&)dj76WaqGukR-*&`13ls8lU2ayVIR%;79HYAr5aEhtYa&0}l}eAw~qKjUyz4v*At z?})QplY`3cWB6rl7MI5mZx&#%I0^iJm3;+J9?RA(!JXjl?(XgmA-D#2cY-^?g1c*Q z3GVLh!8Jhe;QqecbMK#XIJxKMb=6dcs?1vbb?@ov-raj`hnYO92y8pv@>RVr=9Y-F zv`BK)9R6!m4Pfllu4uy0WBL+ZaUFFzbZZtI@J8{OoQ^wL-b$!FpGT)jYS-=vf~b-@ zIiWs7j~U2yI=G5;okQz%gh6}tckV5wN;QDbnu|5%%I(#)8Q#)wTq8YYt$#f9=id;D zJbC=CaLUyDIPNOiDcV9+=|$LE9v2;Qz;?L+lG{|g&iW9TI1k2_H;WmGH6L4tN1WL+ zYfSVWq(Z_~u~U=g!RkS|YYlWpKfZV!X%(^I3gpV%HZ_{QglPSy0q8V+WCC2opX&d@eG2BB#(5*H!JlUzl$DayI5_J-n zF@q*Fc-nlp%Yt;$A$i4CJ_N8vyM5fNN`N(CN53^f?rtya=p^MJem>JF2BEG|lW|E) zxf)|L|H3Oh7mo=9?P|Y~|6K`B3>T)Gw`0ESP9R`yKv}g|+qux(nPnU(kQ&&x_JcYg9+6`=; z-EI_wS~l{T3K~8}8K>%Ke`PY!kNt415_x?^3QOvX(QUpW&$LXKdeZM-pCI#%EZ@ta zv(q-(xXIwvV-6~(Jic?8<7ain4itN>7#AqKsR2y(MHMPeL)+f+v9o8Nu~p4ve*!d3 z{Lg*NRTZsi;!{QJknvtI&QtQM_9Cu%1QcD0f!Fz+UH4O#8=hvzS+^(e{iG|Kt7C#u zKYk7{LFc+9Il>d6)blAY-9nMd(Ff0;AKUo3B0_^J&ESV@4UP8PO0no7G6Gp_;Z;YnzW4T-mCE6ZfBy(Y zXOq^Of&?3#Ra?khzc7IJT3!%IKK8P(N$ST47Mr=Gv@4c!>?dQ-&uZihAL1R<_(#T8Y`Ih~soL6fi_hQmI%IJ5qN995<{<@_ z;^N8AGQE+?7#W~6X>p|t<4@aYC$-9R^}&&pLo+%Ykeo46-*Yc(%9>X>eZpb8(_p{6 zwZzYvbi%^F@)-}5%d_z^;sRDhjqIRVL3U3yK0{Q|6z!PxGp?|>!%i(!aQODnKUHsk^tpeB<0Qt7`ZBlzRIxZMWR+|+ z3A}zyRZ%0Ck~SNNov~mN{#niO**=qc(faGz`qM16H+s;Uf`OD1{?LlH!K!+&5xO%6 z5J80-41C{6)j8`nFvDaeSaCu_f`lB z_Y+|LdJX=YYhYP32M556^^Z9MU}ybL6NL15ZTV?kfCFfpt*Pw5FpHp#2|ccrz#zoO zhs=+jQI4fk*H0CpG?{fpaSCmXzU8bB`;kCLB8T{_3t>H&DWj0q0b9B+f$WG=e*89l zzUE)b9a#aWsEpgnJqjVQETpp~R7gn)CZd$1B8=F*tl+(iPH@s9jQtE33$dBDOOr=% ziOpR8R|1eLI?Rn*d+^;_U#d%bi$|#obe0(-HdB;K>=Y=mg{~jTA_WpChe8QquhF`N z>hJ}uV+pH`l_@d>%^KQNm*$QNJ(lufH>zv9M`f+C-y*;hAH(=h;kp@eL=qPBeXrAo zE7my75EYlFB30h9sdt*Poc9)2sNP9@K&4O7QVPQ^m$e>lqzz)IFJWpYrpJs)Fcq|P z5^(gnntu!+oujqGpqgY_o0V&HL72uOF#13i+ngg*YvPcqpk)Hoecl$dx>C4JE4DWp z-V%>N7P-}xWv%9Z73nn|6~^?w$5`V^xSQbZceV<_UMM&ijOoe{Y^<@3mLSq_alz8t zr>hXX;zTs&k*igKAen1t1{pj94zFB;AcqFwV)j#Q#Y8>hYF_&AZ?*ar1u%((E2EfZ zcRsy@s%C0({v=?8oP=DML`QsPgzw3|9|C22Y>;=|=LHSm7~+wQyI|;^WLG0_NSfrf zamq!5%EzdQ&6|aTP2>X=Z^Jl=w6VHEZ@=}n+@yeu^ke2Yurrkg9up3g$0SI8_O-WQu$bCsKc(juv|H;vz6}%7ONww zKF%!83W6zO%0X(1c#BM}2l^ddrAu^*`9g&1>P6m%x{gYRB)}U`40r>6YmWSH(|6Ic zH~QNgxlH*;4jHg;tJiKia;`$n_F9L~M{GiYW*sPmMq(s^OPOKm^sYbBK(BB9dOY`0 z{0!=03qe*Sf`rcp5Co=~pfQyqx|umPHj?a6;PUnO>EZGb!pE(YJgNr{j;s2+nNV(K zDi#@IJ|To~Zw)vqGnFwb2}7a2j%YNYxe2qxLk)VWJIux$BC^oII=xv-_}h@)Vkrg1kpKokCmX({u=lSR|u znu_fA0PhezjAW{#Gu0Mdhe8F4`!0K|lEy+<1v;$ijSP~A9w%q5-4Ft|(l7UqdtKao zs|6~~nmNYS>fc?Nc=yzcvWNp~B0sB5ForO5SsN(z=0uXxl&DQsg|Y?(zS)T|X``&8 z*|^p?~S!vk8 zg>$B{oW}%rYkgXepmz;iqCKY{R@%@1rcjuCt}%Mia@d8Vz5D@LOSCbM{%JU#cmIp! z^{4a<3m%-p@JZ~qg)Szb-S)k{jv92lqB(C&KL(jr?+#ES5=pUH$(;CO9#RvDdErmW z3(|f{_)dcmF-p*D%qUa^yYngNP&Dh2gq5hr4J!B5IrJ?ODsw@*!0p6Fm|(ebRT%l) z#)l22@;4b9RDHl1ys$M2qFc;4BCG-lp2CN?Ob~Be^2wQJ+#Yz}LP#8fmtR%o7DYzoo1%4g4D+=HonK7b!3nvL0f1=oQp93dPMTsrjZRI)HX-T}ApZ%B#B;`s? z9Kng{|G?yw7rxo(T<* z1+O`)GNRmXq3uc(4SLX?fPG{w*}xDCn=iYo2+;5~vhWUV#e5e=Yfn4BoS@3SrrvV9 zrM-dPU;%~+3&>(f3sr$Rcf4>@nUGG*vZ~qnxJznDz0irB(wcgtyATPd&gSuX^QK@+ z)7MGgxj!RZkRnMSS&ypR94FC$;_>?8*{Q110XDZ)L);&SA8n>72s1#?6gL>gydPs` zM4;ert4-PBGB@5E` zBaWT=CJUEYV^kV%@M#3(E8>g8Eg|PXg`D`;K8(u{?}W`23?JgtNcXkUxrH}@H_4qN zw_Pr@g%;CKkgP(`CG6VTIS4ZZ`C22{LO{tGi6+uPvvHkBFK|S6WO{zo1MeK$P zUBe}-)3d{55lM}mDVoU@oGtPQ+a<=wwDol}o=o1z*)-~N!6t09du$t~%MlhM9B5~r zy|zs^LmEF#yWpXZq!+Nt{M;bE%Q8z7L8QJDLie^5MKW|I1jo}p)YW(S#oLf(sWn~* zII>pocNM5#Z+-n2|495>?H?*oyr0!SJIl(}q-?r`Q;Jbqqr4*_G8I7agO298VUr9x z8ZcHdCMSK)ZO@Yr@c0P3{`#GVVdZ{zZ$WTO zuvO4ukug&& ze#AopTVY3$B>c3p8z^Yyo8eJ+(@FqyDWlR;uxy0JnSe`gevLF`+ZN6OltYr>oN(ZV z>76nIiVoll$rDNkck6_eh%po^u16tD)JXcii|#Nn(7=R9mA45jz>v}S%DeMc(%1h> zoT2BlF9OQ080gInWJ3)bO9j$ z`h6OqF0NL4D3Kz?PkE8nh;oxWqz?<3_!TlN_%qy*T7soZ>Pqik?hWWuya>T$55#G9 zxJv=G&=Tm4!|p1#!!hsf*uQe}zWTKJg`hkuj?ADST2MX6fl_HIDL7w`5Dw1Btays1 zz*aRwd&>4*H%Ji2bt-IQE$>sbCcI1Poble0wL`LAhedGRZp>%>X6J?>2F*j>`BX|P zMiO%!VFtr_OV!eodgp-WgcA-S=kMQ^zihVAZc!vdx*YikuDyZdHlpy@Y3i!r%JI85$-udM6|7*?VnJ!R)3Qfm4mMm~Z#cvNrGUy|i0u zb|(7WsYawjBK0u1>@lLhMn}@X>gyDlx|SMXQo|yzkg-!wIcqfGrA!|t<3NC2k` zq;po50dzvvHD>_mG~>W0iecTf@3-)<$PM5W@^yMcu@U;)(^eu@e4jAX7~6@XrSbIE zVG6v2miWY^g8bu5YH$c2QDdLkg2pU8xHnh`EUNT+g->Q8Tp4arax&1$?CH($1W&*} zW&)FQ>k5aCim$`Ph<9Zt?=%|pz&EX@_@$;3lQT~+;EoD(ho|^nSZDh*M0Z&&@9T+e zHYJ;xB*~UcF^*7a_T)9iV5}VTYKda8n*~PSy@>h7c(mH~2AH@qz{LMQCb+-enMhX} z2k0B1JQ+6`?Q3Lx&(*CBQOnLBcq;%&Nf<*$CX2<`8MS9c5zA!QEbUz1;|(Ua%CiuL zF2TZ>@t7NKQ->O#!;0s;`tf$veXYgq^SgG>2iU9tCm5&^&B_aXA{+fqKVQ*S9=58y zddWqy1lc$Y@VdB?E~_B5w#so`r552qhPR649;@bf63_V@wgb!>=ij=%ptnsq&zl8^ zQ|U^aWCRR3TnoKxj0m0QL2QHM%_LNJ(%x6aK?IGlO=TUoS%7YRcY{!j(oPcUq{HP=eR1>0o^(KFl-}WdxGRjsT);K8sGCkK0qVe{xI`# z@f+_kTYmLbOTxRv@wm2TNBKrl+&B>=VaZbc(H`WWLQhT=5rPtHf)#B$Q6m1f8We^)f6ylbO=t?6Y;{?&VL|j$VXyGV!v8eceRk zl>yOWPbk%^wv1t63Zd8X^Ck#12$*|yv`v{OA@2;-5Mj5sk#ptfzeX(PrCaFgn{3*hau`-a+nZhuJxO;Tis51VVeKAwFML#hF9g26NjfzLs8~RiM_MFl1mgDOU z=ywk!Qocatj1Q1yPNB|FW>!dwh=aJxgb~P%%7(Uydq&aSyi?&b@QCBiA8aP%!nY@c z&R|AF@8}p7o`&~>xq9C&X6%!FAsK8gGhnZ$TY06$7_s%r*o;3Y7?CenJUXo#V-Oag z)T$d-V-_O;H)VzTM&v8^Uk7hmR8v0)fMquWHs6?jXYl^pdM#dY?T5XpX z*J&pnyJ<^n-d<0@wm|)2SW9e73u8IvTbRx?Gqfy_$*LI_Ir9NZt#(2T+?^AorOv$j zcsk+t<#!Z!eC|>!x&#l%**sSAX~vFU0|S<;-ei}&j}BQ#ekRB-;c9~vPDIdL5r{~O zMiO3g0&m-O^gB}<$S#lCRxX@c3g}Yv*l)Hh+S^my28*fGImrl<-nbEpOw-BZ;WTHL zgHoq&ftG|~ouV<>grxRO6Z%{!O+j`Cw_4~BIzrjpkdA5jH40{1kDy|pEq#7`$^m*? zX@HxvW`e}$O$mJvm+65Oc4j7W@iVe)rF&-}R>KKz>rF&*Qi3%F0*tz!vNtl@m8L9= zyW3%|X}0KsW&!W<@tRNM-R>~~QHz?__kgnA(G`jWOMiEaFjLzCdRrqzKlP1vYLG`Y zh6_knD3=9$weMn4tBD|5=3a9{sOowXHu(z5y^RYrxJK z|L>TUvbDuO?3=YJ55N5}Kj0lC(PI*Te0>%eLNWLnawD54geX5>8AT(oT6dmAacj>o zC`Bgj-RV0m3Dl2N=w3e0>wWWG5!mcal`Xu<(1=2$b{k(;kC(2~+B}a(w;xaHPk^@V zGzDR|pt%?(1xwNxV!O6`JLCM!MnvpbLoHzKziegT_2LLWAi4}UHIo6uegj#WTQLet z9Dbjyr{8NAk+$(YCw~_@Az9N|iqsliRYtR7Q|#ONIV|BZ7VKcW$phH9`ZAlnMTW&9 zIBqXYuv*YY?g*cJRb(bXG}ts-t0*|HXId4fpnI>$9A?+BTy*FG8f8iRRKYRd*VF_$ zoo$qc+A(d#Lx0@`ck>tt5c$L1y7MWohMnZd$HX++I9sHoj5VXZRZkrq`v@t?dfvC} z>0h!c4HSb8%DyeF#zeU@rJL2uhZ^8dt(s+7FNHJeY!TZJtyViS>a$~XoPOhHsdRH* zwW+S*rIgW0qSPzE6w`P$Jv^5dsyT6zoby;@z=^yWLG^x;e557RnndY>ph!qCF;ov$ ztSW1h3@x{zm*IMRx|3lRWeI3znjpbS-0*IL4LwwkWyPF1CRpQK|s42dJ{ddA#BDDqio-Y+mF-XcP-z4bi zAhfXa2=>F0*b;F0ftEPm&O+exD~=W^qjtv&>|%(4q#H=wbA>7QorDK4X3~bqeeXv3 zV1Q<>_Fyo!$)fD`fd@(7(%6o-^x?&+s=)jjbQ2^XpgyYq6`}ISX#B?{I$a&cRcW?X zhx(i&HWq{=8pxlA2w~7521v-~lu1M>4wL~hDA-j(F2;9ICMg+6;Zx2G)ulp7j;^O_ zQJIRUWQam(*@?bYiRTKR<;l_Is^*frjr-Dj3(fuZtK{Sn8F;d*t*t{|_lnlJ#e=hx zT9?&_n?__2mN5CRQ}B1*w-2Ix_=CF@SdX-cPjdJN+u4d-N4ir*AJn&S(jCpTxiAms zzI5v(&#_#YrKR?B?d~ge1j*g<2yI1kp`Lx>8Qb;aq1$HOX4cpuN{2ti!2dXF#`AG{ zp<iD=Z#qN-yEwLwE7%8w8&LB<&6{WO$#MB-|?aEc@S1a zt%_p3OA|kE&Hs47Y8`bdbt_ua{-L??&}uW zmwE7X4Y%A2wp-WFYPP_F5uw^?&f zH%NCcbw_LKx!c!bMyOBrHDK1Wzzc5n7A7C)QrTj_Go#Kz7%+y^nONjnnM1o5Sw(0n zxU&@41(?-faq?qC^kO&H301%|F9U-Qm(EGd3}MYTFdO+SY8%fCMTPMU3}bY7ML1e8 zrdOF?E~1uT)v?UX(XUlEIUg3*UzuT^g@QAxEkMb#N#q0*;r zF6ACHP{ML*{Q{M;+^4I#5bh#c)xDGaIqWc#ka=0fh*_Hlu%wt1rBv$B z%80@8%MhIwa0Zw$1`D;Uj1Bq`lsdI^g_18yZ9XUz2-u6&{?Syd zHGEh-3~HH-vO<)_2^r|&$(q7wG{@Q~un=3)Nm``&2T99L(P+|aFtu1sTy+|gwL*{z z)WoC4rsxoWhz0H$rG|EwhDT z0zcOAod_k_Ql&Y`YV!#&Mjq{2ln|;LMuF$-G#jX_2~oNioTHb4GqFatn@?_KgsA7T z(ouy$cGKa!m}6$=C1Wmb;*O2p*@g?wi-}X`v|QA4bNDU*4(y8*jZy-Ku)S3iBN(0r ztfLyPLfEPqj6EV}xope=?b0Nyf*~vDz-H-Te@B`{ib?~F<*(MmG+8zoYS77$O*3vayg#1kkKN+Bu9J9;Soev<%2S&J zr8*_PKV4|?RVfb#SfNQ;TZC$8*9~@GR%xFl1 z3MD?%`1PxxupvVO>2w#8*zV<-!m&Lis&B>)pHahPQ@I_;rY~Z$1+!4V1jde&L8y0! zha7@F+rOENF{~0$+a~oId0R|_!PhO=8)$>LcO)ca6YeOQs?ZG;`4O`x=Pd??Bl?Qf zgkaNj7X5@3_==zlQ-u6?omteA!_e-6gfDtw6CBnP2o1wo-7U!Y@89rU1HFb|bIr!I z=qIz=AW(}L^m z=I9RiS{DRtTYS6jsnvt1zs)W;kSVFOK|WMyZ@dxs+8{*W9-aTmS79J4R{Cis>EIqS zw+~gJqwz)(!z>)KDyhS{lM*xQ-8mNvo$A=IwGu+iS564tgX`|MeEuis!aN-=7!L&e zhNs;g1MBqDyx{y@AI&{_)+-?EEg|5C*!=OgD#$>HklRVU+R``HYZZq5{F9C0KKo!d z$bE2XC(G=I^YUxYST+Hk>0T;JP_iAvCObcrPV1Eau865w6d^Wh&B?^#h2@J#!M2xp zLGAxB^i}4D2^?RayxFqBgnZ-t`j+~zVqr+9Cz9Rqe%1a)c*keP#r54AaR2*TH^}7j zmJ48DN);^{7+5|+GmbvY2v#qJy>?$B(lRlS#kyodlxA&Qj#9-y4s&|eq$5} zgI;4u$cZWKWj`VU%UY#SH2M$8?PjO-B-rNPMr=8d=-D(iLW#{RWJ}@5#Z#EK=2(&LvfW&{P4_jsDr^^rg9w#B7h`mBwdL9y)Ni;= zd$jFDxnW7n-&ptjnk#<0zmNNt{;_30vbQW!5CQ7SuEjR1be!vxvO53!30iOermrU1 zXhXaen8=4Q(574KO_h$e$^1khO&tQL59=)Dc^8iPxz8+tC3`G$w|yUzkGd%Wg4(3u zJ<&7r^HAaEfG?F8?2I64j4kPpsNQk7qBJa9_hFT;*j;A%H%;QI@QWqJaiOl=;u>G8 zG`5Ow4K5ifd=OS|7F;EFc1+GzLld0RCQxG>Fn?~5Wl5VHJ=$DeR-2zwBgzSrQsGG0 zBqrILuB+_SgLxh~S~^QNHWW(2P;Z?d!Rd1lnEM=z23xPzyrbO_L0k43zruDkrJO*D zlzN(peBMLji`xfgYUirul-7c#3t(*=x6A^KSU-L|$(0pp9A*43#=Q!cu%9ZHP!$J| zSk8k=Z8cl811Vvn(4p8xx+EdKQV(sjC4_mEvlWeuIfwEVcF2LiC{H!oW)LSW=0ul| zT?$5PCc(pf-zKzUH`p7I7coVvCK;Dv-3_c?%~bPz`#ehbfrSrFf{RAz0I5e*W1S)kTW{0gf5X2v2k=S=W{>pr44tQ?o` zih8gE29VGR_SL~YJtcA)lRLozPg!<3Mh(`Hp)5{bclb)reTScXzJ>7{?i^yR@{(^% z#=$BYXPIX%fhgsofP-T`3b<5#V(TTS)^$vlhV&Kn=(LXOTAADIR1v8UqmW5c`n`S% zC8SOW$e?>&0dwKD%Jt{+67PfCLnqX0{8K^(q_^^2#puPYPkJsyXWMa~?V?p5{flYi z-1!uqI2x%puPG)r7b8y+Pc0Z5C%aA6`Q1_?W9k!YbiVVJVJwGLL?)P0M&vo{^IgEE zrX3eTgrJl_AeXYmiciYX9OP?NPN%-7Ji%z3U`-iXX=T~OI0M=ek|5IvIsvXM$%S&v zKw{`Kj(JVc+Pp^?vLKEyoycfnk)Hd>et78P^Z*{#rBY~_>V7>{gtB$0G99nbNBt+r zyXvEg_2=#jjK+YX1A>cj5NsFz9rjB_LB%hhx4-2I73gr~CW_5pD=H|e`?#CQ2)p4& z^v?Dlxm-_j6bO5~eeYFZGjW3@AGkIxY=XB*{*ciH#mjQ`dgppNk4&AbaRYKKY-1CT z>)>?+ME)AcCM7RRZQsH5)db7y!&jY-qHp%Ex9N|wKbN$!86i>_LzaD=f4JFc6Dp(a z%z>%=q(sXlJ=w$y^|tcTy@j%AP`v1n0oAt&XC|1kA`|#jsW(gwI0vi3a_QtKcL+yh z1Y=`IRzhiUvKeZXH6>>TDej)?t_V8Z7;WrZ_7@?Z=HRhtXY+{hlY?x|;7=1L($?t3 z6R$8cmez~LXopZ^mH9=^tEeAhJV!rGGOK@sN_Zc-vmEr;=&?OBEN)8aI4G&g&gdOb zfRLZ~dVk3194pd;=W|Z*R|t{}Evk&jw?JzVERk%JNBXbMDX82q~|bv%!2%wFP9;~-H?={C1sZ( zuDvY5?M8gGX*DyN?nru)UvdL|Rr&mXzgZ;H<^KYvzIlet!aeFM@I?JduKj=!(+ zM7`37KYhd*^MrKID^Y1}*sZ#6akDBJyKna%xK%vLlBqzDxjQ3}jx8PBOmXkvf@B{@ zc#J;~wQ<6{B;``j+B!#7s$zONYdXunbuKvl@zvaWq;`v2&iCNF2=V9Kl|77-mpCp= z2$SxhcN=pZ?V{GW;t6s)?-cNPAyTi&8O0QMGo#DcdRl#+px!h3ayc*(VOGR95*Anj zL0YaiVN2mifzZ){X+fl`Z^P=_(W@=*cIe~BJd&n@HD@;lRmu8cx7K8}wPbIK)GjF> zQGQ2h#21o6b2FZI1sPl}9_(~R|2lE^h}UyM5A0bJQk2~Vj*O)l-4WC4$KZ>nVZS|d zZv?`~2{uPYkc?254B9**q6tS|>We?uJ&wK3KIww|zzSuj>ncI4D~K z1Y6irVFE{?D-|R{!rLhZxAhs+Ka9*-(ltIUgC;snNek4_5xhO}@+r9Sl*5=7ztnXO zAVZLm$Kdh&rqEtdxxrE9hw`aXW1&sTE%aJ%3VL3*<7oWyz|--A^qvV3!FHBu9B-Jj z4itF)3dufc&2%V_pZsjUnN=;s2B9<^Zc83>tzo)a_Q$!B9jTjS->%_h`ZtQPz@{@z z5xg~s*cz`Tj!ls3-hxgnX}LDGQp$t7#d3E}>HtLa12z&06$xEQfu#k=(4h{+p%aCg zzeudlLc$=MVT+|43#CXUtRR%h5nMchy}EJ;n7oHfTq6wN6PoalAy+S~2l}wK;qg9o zcf#dX>ke;z^13l%bwm4tZcU1RTXnDhf$K3q-cK576+TCwgHl&?9w>>_(1Gxt@jXln zt3-Qxo3ITr&sw1wP%}B>J$Jy>^-SpO#3e=7iZrXCa2!N69GDlD{97|S*og)3hG)Lk zuqxK|PkkhxV$FP45%z*1Z?(LVy+ruMkZx|(@1R(0CoS6`7FWfr4-diailmq&Q#ehn zc)b&*&Ub;7HRtFVjL%((d$)M=^6BV@Kiusmnr1_2&&aEGBpbK7OWs;+(`tRLF8x?n zfKJB3tB^F~N`_ak3^exe_3{=aP)3tuuK2a-IriHcWv&+u7p z_yXsd6kyLV@k=(QoSs=NRiKNYZ>%4wAF;2#iu1p^!6>MZUPd;=2LY~l2ydrx10b#OSAlltILY%OKTp{e{ zzNogSk~SJBqi<_wRa#JqBW8Ok=6vb%?#H(hG}Dv98{JST5^SSh>_GQ@UK-0J`6l#E za}X#ud0W?cp-NQE@jAx>NUv65U~%YYS%BC0Cr$5|2_A)0tW;(nqoGJUHG5R`!-{1M-4T{<^pOE!Dvyuu1x7?Wt#YIgq zA$Vwj`St+M#ZxJXXGkepIF6`xL&XPu^qiFlZcX+@fOAdQ9d(h{^xCiAWJ0Ixp~3&E z(WwdT$O$7ez?pw>Jf{`!T-205_zJv+y~$w@XmQ;CiL8d*-x_z~0@vo4|3xUermJ;Q z9KgxjkN8Vh)xZ2xhX0N@{~@^d@BLoYFW%Uys83=`15+YZ%KecmWXjVV2}YbjBonSh zVOwOfI7^gvlC~Pq$QDHMQ6_Pd10OV{q_Zai^Yg({5XysuT`3}~3K*8u>a2FLBQ%#_YT6$4&6(?ZGwDE*C-p8>bM?hj*XOIoj@C!L5) zH1y!~wZ^dX5N&xExrKV>rEJJjkJDq*$K>qMi`Lrq08l4bQW~!Fbxb>m4qMHu6weTiV6_9(a*mZ23kr9AM#gCGE zBXg8#m8{ad@214=#w0>ylE7qL$4`xm!**E@pw484-VddzN}DK2qg&W~?%hcv3lNHx zg(CE<2)N=p!7->aJ4=1*eB%fbAGJcY65f3=cKF4WOoCgVelH$qh0NpIka5J-6+sY* zBg<5!R=I*5hk*CR@$rY6a8M%yX%o@D%{q1Jn=8wAZ;;}ol>xFv5nXvjFggCQ_>N2} zXHiC~pCFG*oEy!h_sqF$^NJIpQzXhtRU`LR0yU;MqrYUG0#iFW4mbHe)zN&4*Wf)G zV6(WGOq~OpEoq##E{rC?!)8ygAaAaA0^`<8kXmf%uIFfNHAE|{AuZd!HW9C^4$xW; zmIcO#ti!~)YlIU4sH(h&s6}PH-wSGtDOZ+%H2gAO(%2Ppdec9IMViuwwWW)qnqblH9xe1cPQ@C zS4W|atjGDGKKQAQlPUVUi1OvGC*Gh2i&gkh0up%u-9ECa7(Iw}k~0>r*WciZyRC%l z7NX3)9WBXK{mS|=IK5mxc{M}IrjOxBMzFbK59VI9k8Yr$V4X_^wI#R^~RFcme2)l!%kvUa zJ{zpM;;=mz&>jLvON5j>*cOVt1$0LWiV>x)g)KKZnhn=%1|2E|TWNfRQ&n?vZxQh* zG+YEIf33h%!tyVBPj>|K!EB{JZU{+k`N9c@x_wxD7z~eFVw%AyU9htoH6hmo0`%kb z55c#c80D%0^*6y|9xdLG$n4Hn%62KIp`Md9Jhyp8)%wkB8<%RlPEwC&FL z;hrH(yRr(Ke$%TZ09J=gGMC3L?bR2F4ZU!}pu)*8@l(d9{v^^(j>y+GF*nGran5*M z{pl5ig0CVsG1etMB8qlF4MDFRkLAg4N=l{Sc*F>K_^AZQc{dSXkvonBI)qEN1*U&? zKqMr?Wu)q9c>U~CZUG+-ImNrU#c`bS?RpvVgWXqSsOJrCK#HNIJ+k_1Iq^QNr(j|~ z-rz67Lf?}jj^9Ik@VIMBU2tN{Ts>-O%5f?=T^LGl-?iC%vfx{}PaoP7#^EH{6HP!( zG%3S1oaiR;OmlKhLy@yLNns`9K?60Zg7~NyT0JF(!$jPrm^m_?rxt~|J2)*P6tdTU z25JT~k4RH9b_1H3-y?X4=;6mrBxu$6lsb@xddPGKA*6O`Cc^>Ul`f9c&$SHFhHN!* zjj=(Jb`P}R%5X@cC%+1ICCRh1^G&u548#+3NpYTVr54^SbFhjTuO-yf&s%r4VIU!lE!j(JzHSc9zRD_fw@CP0pkL(WX6 zn+}LarmQP9ZGF9So^+jr<(LGLlOxGiCsI^SnuC{xE$S;DA+|z+cUk=j^0ipB(WTZ} zR0osv{abBd)HOjc(SAV&pcP@37SLnsbtADj?bT#cPZq|?W1Ar;4Vg5m!l{@{TA~|g zXYOeU`#h-rT@(#msh%%kH>D=`aN}2Rysez?E@R6|@SB(_gS0}HC>83pE`obNA9vsH zSu^r>6W-FSxJA}?oTuH>-y9!pQg|*<7J$09tH=nq4GTx+5($$+IGlO^bptmxy#=)e zuz^beIPpUB_YK^?eb@gu(D%pJJwj3QUk6<3>S>RN^0iO|DbTZNheFX?-jskc5}Nho zf&1GCbE^maIL$?i=nXwi)^?NiK`Khb6A*kmen^*(BI%Kw&Uv4H;<3ib-2UwG{7M&* zn$qyi8wD9cKOuxWhRmFupwLuFn!G5Vj6PZ#GCNJLlTQuQ?bqAYd7Eva5YR~OBbIim zf(6yXS4pei1Bz4w4rrB6Ke~gKYErlC=l9sm*Zp_vwJe7<+N&PaZe|~kYVO%uChefr%G4-=0eSPS{HNf=vB;p~ z5b9O1R?WirAZqcdRn9wtct>$FU2T8p=fSp;E^P~zR!^C!)WHe=9N$5@DHk6(L|7s@ zcXQ6NM9Q~fan1q-u8{ez;RADoIqwkf4|6LfsMZK6h{ZUGYo>vD%JpY<@w;oIN-*sK zxp4@+d{zxe>Z-pH#_)%|d(AC`fa!@Jq)5K8hd71!;CEG|ZI{I2XI`X~n|ae;B!q{I zJDa#T+fRviR&wAN^Sl{z8Ar1LQOF&$rDs18h0{yMh^pZ#hG?c5OL8v07qRZ-Lj5(0 zjFY(S4La&`3IjOT%Jqx4z~08($iVS;M10d@q~*H=Py)xnKt(+G-*o33c7S3bJ8cmwgj45` zU|b7xCoozC!-7CPOR194J-m9N*g`30ToBo!Io?m>T)S{CusNZx0J^Hu6hOmvv;0~W zFHRYJgyRhP1sM_AQ%pkD!X-dPu_>)`8HunR4_v$4T78~R<})-@K2LBt03PBLnjHzuYY)AK?>0TJe9 zmmOjwSL%CTaLYvYlJ~|w?vc*R+$@vEAYghtgGhZ2LyF+UdOn+v^yvD9R%xbU$fUjK{{VQ4VL&&UqAFa>CZuX4kX zJ)njewLWfKXneB+r}Y$`ezzwDoRT3r{9(@=I3-z>8tT)n3whDyi(r*lAnxQJefj_x z-8lc=r!Vua{b}v;LT)oXW>~6Q03~RAp~R}TZq9sGbeUBMS)?ZrJqiu|E&ZE)uN1uL zXcAj3#aEz zzbcCF)+;Hia#OGBvOatkPQfE{*RtBlO1QFVhi+3q0HeuFa*p+Dj)#8Mq9yGtIx%0A znV5EmN(j!&b%kNz4`Vr-)mX_?$ng&M^a6loFO(G3SA!~eBUEY!{~>C|Ht1Q4cw)X5~dPiEYQJNg?B2&P>bU7N(#e5cr8qc7A{a7J9cdMcRx)N|?;$L~O|E)p~ zIC}oi3iLZKb>|@=ApsDAfa_<$0Nm<3nOPdr+8Y@dnb|u2S<7CUmTGKd{G57JR*JTo zb&?qrusnu}jb0oKHTzh42P00C{i^`v+g=n|Q6)iINjWk4mydBo zf0g=ikV*+~{rIUr%MXdz|9ebUP)<@zR8fgeR_rChk0<^^3^?rfr;-A=x3M?*8|RPz z@}DOF`aXXuZGih9PyAbp|DULSw8PJ`54io)ga6JG@Hgg@_Zo>OfJ)8+TIfgqu%877 z@aFykK*+|%@rSs-t*oAzH6Whyr=TpuQ}B0ptSsMg9p8@ZE5A6LfMk1qdsf8T^zkdC3rUhB$`s zBdanX%L3tF7*YZ4^A8MvOvhfr&B)QOWCLJ^02kw5;P%n~5e`sa6MG{E2N^*2ZX@ge zI2>ve##O?I}sWX)UqK^_bRz@;5HWp5{ziyg?QuEjXfMP!j zpr(McSAQz>ME?M-3NSoCn$91#_iNnULp6tD0NN7Z0s#G~-~xWZFWN-%KUVi^yz~-` zn;AeGvjLJ~{1p#^?$>zM4vu=3mjBI$(_tC~NC0o@6<{zS_*3nGfUsHr3Gdgn%XedF zQUP=j5Mb>9=#f7aPl;cm$=I0u*WP}aVE!lCYw2Ht{Z_j9mp1h>dHGKkEZP6f^6O@J zndJ2+rWjxp|3#<2oO=8v!oHMX{|Vb|^G~pU_A6=ckBQvt>o+dpgYy(D=VCj65GE&jJj{&-*iq?z)PHNee&-@Mie~#LD*={ex8h(-)<@|55 zUr(}L?mz#;d|mrD%zrh<-*=;5*7K$B`zPjJ%m2pwr*G6tf8tN%a

_x$+l{{cH8$W#CT diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 59bc51a..37aef8d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index cccdd3d..65dcd68 100644 --- a/gradlew +++ b/gradlew @@ -1,78 +1,129 @@ -#!/usr/bin/env sh +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -81,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -89,84 +140,105 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=$((i+1)) + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" fi +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index f955316..93e3f59 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,4 +1,20 @@ -@if "%DEBUG%" == "" @echo off +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -9,19 +25,23 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -35,7 +55,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -45,38 +65,26 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..fc113ae --- /dev/null +++ b/settings.gradle @@ -0,0 +1,12 @@ +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + maven { url = 'https://maven.neoforged.net/releases' } + maven { url = 'https://maven.parchmentmc.org' } + } +} + +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0' +} diff --git a/src/main/java/tallestegg/guardvillagers/GuardEntityType.java b/src/main/java/tallestegg/guardvillagers/GuardEntityType.java index 9794d84..b6a01e2 100644 --- a/src/main/java/tallestegg/guardvillagers/GuardEntityType.java +++ b/src/main/java/tallestegg/guardvillagers/GuardEntityType.java @@ -1,15 +1,15 @@ package tallestegg.guardvillagers; +import net.minecraft.core.registries.Registries; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; import tallestegg.guardvillagers.entities.Guard; -@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) +//@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class GuardEntityType { - public static final DeferredRegister> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, GuardVillagers.MODID); - public static final RegistryObject> GUARD = ENTITIES.register("guard", () -> EntityType.Builder.of(Guard::new, MobCategory.MISC).sized(0.6F, 1.95F).setShouldReceiveVelocityUpdates(true).build(GuardVillagers.MODID + "guard")); + public static final DeferredRegister> ENTITIES = DeferredRegister.create(Registries.ENTITY_TYPE, GuardVillagers.MODID); + public static final DeferredHolder, EntityType> GUARD = ENTITIES.register("guard", () -> EntityType.Builder.of(Guard::new, MobCategory.MISC).sized(0.6F, 1.95F).setShouldReceiveVelocityUpdates(true).build(GuardVillagers.MODID + "guard")); } diff --git a/src/main/java/tallestegg/guardvillagers/GuardItems.java b/src/main/java/tallestegg/guardvillagers/GuardItems.java index 3c2a0e8..933ec15 100644 --- a/src/main/java/tallestegg/guardvillagers/GuardItems.java +++ b/src/main/java/tallestegg/guardvillagers/GuardItems.java @@ -1,24 +1,24 @@ package tallestegg.guardvillagers; import com.google.common.base.Predicate; - +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.SpawnEggItem; -import net.minecraftforge.common.ForgeSpawnEggItem; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.common.DeferredSpawnEggItem; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; -@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) +//@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class GuardItems { - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, GuardVillagers.MODID); - public static final RegistryObject GUARD_SPAWN_EGG = ITEMS.register("guard_spawn_egg", () -> new ForgeSpawnEggItem(GuardEntityType.GUARD, 5651507, 9804699, new Item.Properties())); - public static final RegistryObject ILLUSIONER_SPAWN_EGG = ITEMS.register("illusioner_spawn_egg", () -> new SpawnEggItem(EntityType.ILLUSIONER, 9804699, 4547222, new Item.Properties())); + public static final DeferredRegister ITEMS = DeferredRegister.create(Registries.ITEM, GuardVillagers.MODID); + public static final DeferredHolder GUARD_SPAWN_EGG = ITEMS.register("guard_spawn_egg", () -> new DeferredSpawnEggItem(GuardEntityType.GUARD, 5651507, 9804699, new Item.Properties())); + public static final DeferredHolder ILLUSIONER_SPAWN_EGG = ITEMS.register("illusioner_spawn_egg", () -> new SpawnEggItem(EntityType.ILLUSIONER, 9804699, 4547222, new Item.Properties())); public static InteractionHand getHandWith(LivingEntity livingEntity, Predicate itemPredicate) { return itemPredicate.test(livingEntity.getMainHandItem().getItem()) ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND; diff --git a/src/main/java/tallestegg/guardvillagers/GuardLootTables.java b/src/main/java/tallestegg/guardvillagers/GuardLootTables.java index 4a4791f..33fb9d8 100644 --- a/src/main/java/tallestegg/guardvillagers/GuardLootTables.java +++ b/src/main/java/tallestegg/guardvillagers/GuardLootTables.java @@ -1,28 +1,25 @@ package tallestegg.guardvillagers; -import java.util.function.Consumer; - import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; - import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSet; -import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; +import java.util.function.Consumer; + public class GuardLootTables { public static final BiMap REGISTRY = HashBiMap.create(); public static final LootContextParamSet SLOT = register("slot", (p_216252_0_) -> { p_216252_0_.required(LootContextParams.THIS_ENTITY); }); - public static final ResourceLocation GUARD_MAIN_HAND = new ResourceLocation(GuardVillagers.MODID, "entities/guard_main_hand"); public static final ResourceLocation GUARD_OFF_HAND = new ResourceLocation(GuardVillagers.MODID, "entities/guard_off_hand"); public static final ResourceLocation GUARD_HELMET = new ResourceLocation(GuardVillagers.MODID, "entities/guard_helmet"); public static final ResourceLocation GUARD_CHEST = new ResourceLocation(GuardVillagers.MODID, "entities/guard_chestplate"); public static final ResourceLocation GUARD_LEGGINGS = new ResourceLocation(GuardVillagers.MODID, "entities/guard_legs"); public static final ResourceLocation GUARD_FEET = new ResourceLocation(GuardVillagers.MODID, "entities/guard_feet"); - + public static LootContextParamSet register(String p_81429_, Consumer p_81430_) { LootContextParamSet.Builder lootcontextparamset$builder = new LootContextParamSet.Builder(); p_81430_.accept(lootcontextparamset$builder); @@ -30,9 +27,9 @@ public static LootContextParamSet register(String p_81429_, Consumer PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals); public static void registerPackets() { INSTANCE.messageBuilder(GuardOpenInventoryPacket.class, 0).encoder(GuardOpenInventoryPacket::encode).decoder(GuardOpenInventoryPacket::decode).consumerMainThread(GuardOpenInventoryPacket::handle).add(); @@ -42,4 +40,4 @@ public static void openGuardInventory(GuardOpenInventoryPacket packet) { } } } -} +} \ No newline at end of file diff --git a/src/main/java/tallestegg/guardvillagers/GuardVillagers.java b/src/main/java/tallestegg/guardvillagers/GuardVillagers.java index 8b95cb3..3fc220e 100644 --- a/src/main/java/tallestegg/guardvillagers/GuardVillagers.java +++ b/src/main/java/tallestegg/guardvillagers/GuardVillagers.java @@ -5,16 +5,19 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.raid.Raid; import net.minecraft.world.item.CreativeModeTabs; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.BuildCreativeModeTabContentsEvent; -import net.minecraftforge.event.entity.EntityAttributeCreationEvent; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.config.ModConfig; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.fml.loading.FMLPaths; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.config.ModConfig; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.fml.loading.FMLPaths; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; +import net.neoforged.neoforge.event.entity.EntityAttributeCreationEvent; import tallestegg.guardvillagers.client.GuardSounds; import tallestegg.guardvillagers.configuration.GuardConfig; import tallestegg.guardvillagers.entities.Guard; @@ -23,18 +26,18 @@ public class GuardVillagers { public static final String MODID = "guardvillagers"; - public GuardVillagers() { + public GuardVillagers(IEventBus modEventBus, Dist dist) { ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, GuardConfig.COMMON_SPEC); GuardConfig.loadConfig(GuardConfig.COMMON_SPEC, FMLPaths.CONFIGDIR.get().resolve(MODID + "-common.toml").toString()); ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, GuardConfig.CLIENT_SPEC); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff); - MinecraftForge.EVENT_BUS.register(this); - GuardEntityType.ENTITIES.register(FMLJavaModLoadingContext.get().getModEventBus()); - GuardItems.ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus()); - GuardSounds.SOUNDS.register(FMLJavaModLoadingContext.get().getModEventBus()); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::addAttributes); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::addCreativeTabs); + modEventBus.addListener(this::setup); + NeoForge.EVENT_BUS.register(HandlerEvents.class); + NeoForge.EVENT_BUS.register(VillagerToGuard.class); + GuardEntityType.ENTITIES.register(modEventBus); + GuardItems.ITEMS.register(modEventBus); + GuardSounds.SOUNDS.register(modEventBus); + modEventBus.addListener(this::addAttributes); + modEventBus.addListener(this::addCreativeTabs); GuardPacketHandler.registerPackets(); } @@ -43,6 +46,7 @@ public static boolean hotvChecker(Player player, Guard guard) { || !GuardConfig.giveGuardStuffHOTV || guard.getPlayerReputation(player) > GuardConfig.reputationRequirement && !player.level().isClientSide(); } + @SubscribeEvent private void addCreativeTabs(final BuildCreativeModeTabContentsEvent event) { if (event.getTabKey() == CreativeModeTabs.SPAWN_EGGS) { event.accept(GuardItems.GUARD_SPAWN_EGG.get()); @@ -50,15 +54,14 @@ private void addCreativeTabs(final BuildCreativeModeTabContentsEvent event) { } } + @SubscribeEvent private void setup(final FMLCommonSetupEvent event) { if (GuardConfig.IllusionerRaids) Raid.RaiderType.create("thebluemengroup", EntityType.ILLUSIONER, new int[]{0, 0, 0, 0, 0, 1, 1, 2}); } + @SubscribeEvent private void addAttributes(final EntityAttributeCreationEvent event) { event.put(GuardEntityType.GUARD.get(), Guard.createAttributes().build()); } - - private void doClientStuff(final FMLClientSetupEvent event) { - } } diff --git a/src/main/java/tallestegg/guardvillagers/HandlerEvents.java b/src/main/java/tallestegg/guardvillagers/HandlerEvents.java index 6b64e13..41e4c57 100644 --- a/src/main/java/tallestegg/guardvillagers/HandlerEvents.java +++ b/src/main/java/tallestegg/guardvillagers/HandlerEvents.java @@ -18,12 +18,12 @@ import net.minecraft.world.entity.npc.Villager; import net.minecraft.world.entity.raid.Raider; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.event.entity.EntityJoinLevelEvent; -import net.minecraftforge.event.entity.living.LivingChangeTargetEvent; -import net.minecraftforge.event.entity.living.LivingEvent; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent; +import net.neoforged.neoforge.event.entity.living.LivingChangeTargetEvent; +import net.neoforged.neoforge.event.entity.living.LivingEvent; +import net.neoforged.neoforge.event.entity.living.LivingHurtEvent; import tallestegg.guardvillagers.configuration.GuardConfig; import tallestegg.guardvillagers.entities.Guard; import tallestegg.guardvillagers.entities.ai.goals.AttackEntityDaytimeGoal; @@ -129,7 +129,7 @@ public static void onLivingSpawned(EntityJoinLevelEvent event) { if (mob instanceof IronGolem golem) { HurtByTargetGoal tolerateFriendlyFire = new HurtByTargetGoal(golem, Guard.class).setAlertOthers(); - golem.targetSelector.availableGoals.stream().map(it -> it.goal).filter(it -> it instanceof HurtByTargetGoal).findFirst().ifPresent(angerGoal -> { + golem.targetSelector.getAvailableGoals().stream().map(it -> it.getGoal()).filter(it -> it instanceof HurtByTargetGoal).findFirst().ifPresent(angerGoal -> { golem.targetSelector.removeGoal(angerGoal); golem.targetSelector.addGoal(2, tolerateFriendlyFire); }); diff --git a/src/main/java/tallestegg/guardvillagers/VillagerToGuard.java b/src/main/java/tallestegg/guardvillagers/VillagerToGuard.java index e01b547..9c54dc6 100644 --- a/src/main/java/tallestegg/guardvillagers/VillagerToGuard.java +++ b/src/main/java/tallestegg/guardvillagers/VillagerToGuard.java @@ -1,25 +1,24 @@ package tallestegg.guardvillagers; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.gossip.GossipType; import net.minecraft.world.entity.ai.memory.MemoryModuleType; -import net.minecraft.world.entity.ai.village.ReputationEventType; import net.minecraft.world.entity.npc.Villager; import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.CrossbowItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SwordItem; -import net.minecraft.core.particles.ParticleOptions; -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.InteractionHand; -import net.minecraft.sounds.SoundEvents; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; import tallestegg.guardvillagers.configuration.GuardConfig; import tallestegg.guardvillagers.entities.Guard; diff --git a/src/main/java/tallestegg/guardvillagers/client/GuardClientEvents.java b/src/main/java/tallestegg/guardvillagers/client/GuardClientEvents.java index 04a41ab..2e892ef 100644 --- a/src/main/java/tallestegg/guardvillagers/client/GuardClientEvents.java +++ b/src/main/java/tallestegg/guardvillagers/client/GuardClientEvents.java @@ -2,10 +2,10 @@ import net.minecraft.client.model.geom.ModelLayerLocation; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.EntityRenderersEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.client.event.EntityRenderersEvent; import tallestegg.guardvillagers.GuardEntityType; import tallestegg.guardvillagers.GuardVillagers; import tallestegg.guardvillagers.client.models.GuardArmorModel; diff --git a/src/main/java/tallestegg/guardvillagers/client/GuardSounds.java b/src/main/java/tallestegg/guardvillagers/client/GuardSounds.java index 93715e7..4197366 100644 --- a/src/main/java/tallestegg/guardvillagers/client/GuardSounds.java +++ b/src/main/java/tallestegg/guardvillagers/client/GuardSounds.java @@ -1,17 +1,20 @@ package tallestegg.guardvillagers.client; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.common.NeoForgeMod; +import net.neoforged.neoforge.registries.DeferredRegister; +import net.neoforged.neoforge.registries.NeoForgeRegistries; +import net.neoforged.neoforge.registries.NeoForgeRegistriesSetup; import tallestegg.guardvillagers.GuardVillagers; -@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) +//@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class GuardSounds { - public static final DeferredRegister SOUNDS = DeferredRegister.create(ForgeRegistries.SOUND_EVENTS, GuardVillagers.MODID); - public static final RegistryObject GUARD_AMBIENT = SOUNDS.register("entity.guard.ambient", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(GuardVillagers.MODID, "entity.guard.ambient"))); - public static final RegistryObject GUARD_DEATH = SOUNDS.register("entity.guard.death", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(GuardVillagers.MODID, "entity.guard.death"))); - public static final RegistryObject GUARD_HURT = SOUNDS.register("entity.guard.hurt", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(GuardVillagers.MODID, "entity.guard.hurt"))); + public static final DeferredRegister SOUNDS = DeferredRegister.create(Registries.SOUND_EVENT, GuardVillagers.MODID); + public static final Holder GUARD_AMBIENT = SOUNDS.register("entity.guard.ambient", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(GuardVillagers.MODID, "entity.guard.ambient"))); + public static final Holder GUARD_DEATH = SOUNDS.register("entity.guard.death", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(GuardVillagers.MODID, "entity.guard.death"))); + public static final Holder GUARD_HURT = SOUNDS.register("entity.guard.hurt", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(GuardVillagers.MODID, "entity.guard.hurt"))); } diff --git a/src/main/java/tallestegg/guardvillagers/client/gui/GuardInventoryScreen.java b/src/main/java/tallestegg/guardvillagers/client/gui/GuardInventoryScreen.java index 30e505f..893befe 100644 --- a/src/main/java/tallestegg/guardvillagers/client/gui/GuardInventoryScreen.java +++ b/src/main/java/tallestegg/guardvillagers/client/gui/GuardInventoryScreen.java @@ -47,13 +47,13 @@ public void init() { super.init(); if (GuardConfig.followHero && player.hasEffect(MobEffects.HERO_OF_THE_VILLAGE) || !GuardConfig.followHero) { this.addRenderableWidget(new GuardGuiButton(this.leftPos + 100, this.height / 2 - 40, 20, 18, GUARD_FOLLOWING_ICONS, GUARD_NOT_FOLLOWING_ICONS, true, (p_214086_1_) -> { - GuardPacketHandler.INSTANCE.send(new GuardFollowPacket(guard.getId()), Minecraft.getInstance().getConnection().getConnection()); + GuardPacketHandler.INSTANCE.sendToServer(new GuardFollowPacket(guard.getId())); })); } if (GuardConfig.setGuardPatrolHotv && player.hasEffect(MobEffects.HERO_OF_THE_VILLAGE) || !GuardConfig.setGuardPatrolHotv) { this.addRenderableWidget(new GuardGuiButton(this.leftPos + 120, this.height / 2 - 40, 20, 18, GUARD_PATROLLING_ICONS, GUARD_NOT_PATROLLING_ICONS, false, (p_214086_1_) -> { buttonPressed = !buttonPressed; - GuardPacketHandler.INSTANCE.send(new GuardSetPatrolPosPacket(guard.getId(), buttonPressed), Minecraft.getInstance().getConnection().getConnection()); + GuardPacketHandler.INSTANCE.sendToServer(new GuardSetPatrolPosPacket(guard.getId(), buttonPressed)); })); } } diff --git a/src/main/java/tallestegg/guardvillagers/configuration/GuardConfig.java b/src/main/java/tallestegg/guardvillagers/configuration/GuardConfig.java index 13dc47d..6479c05 100644 --- a/src/main/java/tallestegg/guardvillagers/configuration/GuardConfig.java +++ b/src/main/java/tallestegg/guardvillagers/configuration/GuardConfig.java @@ -3,10 +3,10 @@ import com.electronwill.nightconfig.core.file.CommentedFileConfig; import com.electronwill.nightconfig.core.io.WritingMode; import com.google.common.collect.Lists; -import net.minecraftforge.common.ForgeConfigSpec; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod.EventBusSubscriber; -import net.minecraftforge.fml.event.config.ModConfigEvent; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.config.ModConfigEvent; +import net.neoforged.neoforge.common.ModConfigSpec; import org.apache.commons.lang3.tuple.Pair; import tallestegg.guardvillagers.GuardVillagers; @@ -14,11 +14,11 @@ import java.util.ArrayList; import java.util.List; -@EventBusSubscriber(modid = GuardVillagers.MODID, bus = EventBusSubscriber.Bus.MOD) +@Mod.EventBusSubscriber(modid = GuardVillagers.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class GuardConfig { - public static final ForgeConfigSpec COMMON_SPEC; + public static final ModConfigSpec COMMON_SPEC; public static final CommonConfig COMMON; - public static final ForgeConfigSpec CLIENT_SPEC; + public static final ModConfigSpec CLIENT_SPEC; public static final ClientConfig CLIENT; public static boolean RaidAnimals; public static boolean WitchesVillager; @@ -46,10 +46,10 @@ public class GuardConfig { public static List MobBlackList; static { - final Pair specPair = new ForgeConfigSpec.Builder().configure(CommonConfig::new); + final Pair specPair = new ModConfigSpec.Builder().configure(CommonConfig::new); COMMON = specPair.getLeft(); COMMON_SPEC = specPair.getRight(); - final Pair specPair1 = new ForgeConfigSpec.Builder().configure(ClientConfig::new); + final Pair specPair1 = new ModConfigSpec.Builder().configure(ClientConfig::new); CLIENT = specPair1.getLeft(); CLIENT_SPEC = specPair1.getRight(); } @@ -57,7 +57,7 @@ public class GuardConfig { /* *Thanks to AzureDoom and Tslat for letting me know that this is possible on the MMD discord */ - public static void loadConfig(ForgeConfigSpec config, String path) { + public static void loadConfig(ModConfigSpec config, String path) { final CommentedFileConfig file = CommentedFileConfig.builder(new File(path)).sync().autosave() .writingMode(WritingMode.REPLACE).build(); file.load(); @@ -104,37 +104,37 @@ public static void onModConfigEvent(final ModConfigEvent.Loading configEvent) { } public static class CommonConfig { - public final ForgeConfigSpec.BooleanValue RaidAnimals; - public final ForgeConfigSpec.BooleanValue WitchesVillager; - public final ForgeConfigSpec.BooleanValue IllusionerRaids; - public final ForgeConfigSpec.BooleanValue AttackAllMobs; - public final ForgeConfigSpec.BooleanValue VillagersRunFromPolarBears; - public final ForgeConfigSpec.BooleanValue IllagersRunFromPolarBears; - public final ForgeConfigSpec.BooleanValue GuardsRunFromPolarBears; - public final ForgeConfigSpec.BooleanValue GuardsOpenDoors; - public final ForgeConfigSpec.BooleanValue GuardRaiseShield; - public final ForgeConfigSpec.BooleanValue GuardFormation; - public final ForgeConfigSpec.BooleanValue FriendlyFire; - public final ForgeConfigSpec.BooleanValue ConvertVillagerIfHaveHOTV; - public final ForgeConfigSpec.BooleanValue BlacksmithHealing; - public final ForgeConfigSpec.BooleanValue ClericHealing; - public final ForgeConfigSpec.DoubleValue GuardVillagerHelpRange; - public final ForgeConfigSpec.DoubleValue amountOfHealthRegenerated; - public final ForgeConfigSpec.DoubleValue healthModifier; - public final ForgeConfigSpec.DoubleValue speedModifier; - public final ForgeConfigSpec.DoubleValue followRangeModifier; - public final ForgeConfigSpec.BooleanValue guardArrowsHurtVillagers; - public final ForgeConfigSpec.BooleanValue armorersRepairGuardArmor; - public final ForgeConfigSpec.ConfigValue> MobBlackList; - public final ForgeConfigSpec.ConfigValue> MobWhiteList; - public final ForgeConfigSpec.BooleanValue giveGuardStuffHOTV; - public final ForgeConfigSpec.BooleanValue setGuardPatrolHotv; - public final ForgeConfigSpec.BooleanValue followHero; - public final ForgeConfigSpec.IntValue reputationRequirement; - public final ForgeConfigSpec.IntValue reputationRequirementToBeAttacked; - public final ForgeConfigSpec.DoubleValue chanceToDropEquipment; + public final ModConfigSpec.BooleanValue RaidAnimals; + public final ModConfigSpec.BooleanValue WitchesVillager; + public final ModConfigSpec.BooleanValue IllusionerRaids; + public final ModConfigSpec.BooleanValue AttackAllMobs; + public final ModConfigSpec.BooleanValue VillagersRunFromPolarBears; + public final ModConfigSpec.BooleanValue IllagersRunFromPolarBears; + public final ModConfigSpec.BooleanValue GuardsRunFromPolarBears; + public final ModConfigSpec.BooleanValue GuardsOpenDoors; + public final ModConfigSpec.BooleanValue GuardRaiseShield; + public final ModConfigSpec.BooleanValue GuardFormation; + public final ModConfigSpec.BooleanValue FriendlyFire; + public final ModConfigSpec.BooleanValue ConvertVillagerIfHaveHOTV; + public final ModConfigSpec.BooleanValue BlacksmithHealing; + public final ModConfigSpec.BooleanValue ClericHealing; + public final ModConfigSpec.DoubleValue GuardVillagerHelpRange; + public final ModConfigSpec.DoubleValue amountOfHealthRegenerated; + public final ModConfigSpec.DoubleValue healthModifier; + public final ModConfigSpec.DoubleValue speedModifier; + public final ModConfigSpec.DoubleValue followRangeModifier; + public final ModConfigSpec.BooleanValue guardArrowsHurtVillagers; + public final ModConfigSpec.BooleanValue armorersRepairGuardArmor; + public final ModConfigSpec.ConfigValue> MobBlackList; + public final ModConfigSpec.ConfigValue> MobWhiteList; + public final ModConfigSpec.BooleanValue giveGuardStuffHOTV; + public final ModConfigSpec.BooleanValue setGuardPatrolHotv; + public final ModConfigSpec.BooleanValue followHero; + public final ModConfigSpec.IntValue reputationRequirement; + public final ModConfigSpec.IntValue reputationRequirementToBeAttacked; + public final ModConfigSpec.DoubleValue chanceToDropEquipment; - public CommonConfig(ForgeConfigSpec.Builder builder) { + public CommonConfig(ModConfigSpec.Builder builder) { builder.push("raids and illagers"); RaidAnimals = builder.comment("Illagers In Raids Attack Animals?").translation(GuardVillagers.MODID + ".config.RaidAnimals").define("Illagers in raids attack animals?", false); WitchesVillager = builder.comment("Witches Attack Villagers?").translation(GuardVillagers.MODID + ".config.WitchesVillager").define("Witches attack villagers?", true); @@ -179,10 +179,10 @@ public CommonConfig(ForgeConfigSpec.Builder builder) { } public static class ClientConfig { - public final ForgeConfigSpec.BooleanValue GuardSteve; - public final ForgeConfigSpec.BooleanValue bigHeadBabyVillager; + public final ModConfigSpec.BooleanValue GuardSteve; + public final ModConfigSpec.BooleanValue bigHeadBabyVillager; - public ClientConfig(ForgeConfigSpec.Builder builder) { + public ClientConfig(ModConfigSpec.Builder builder) { GuardSteve = builder.comment("Textures not included, make your own textures by making a resource pack that adds guard_steve_0 - 6").translation(GuardVillagers.MODID + ".config.steveModel").define("Have guards use the steve model?", false); bigHeadBabyVillager = builder.define("Have baby villagers have big heads like in bedrock?", true); } diff --git a/src/main/java/tallestegg/guardvillagers/entities/Guard.java b/src/main/java/tallestegg/guardvillagers/entities/Guard.java index d3f17dd..03c3841 100644 --- a/src/main/java/tallestegg/guardvillagers/entities/Guard.java +++ b/src/main/java/tallestegg/guardvillagers/entities/Guard.java @@ -59,10 +59,12 @@ import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.AABB; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.event.entity.player.PlayerContainerEvent; -import net.minecraftforge.network.PacketDistributor; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.common.NeoForgeEventHandler; +import net.neoforged.neoforge.common.ToolActions; +import net.neoforged.neoforge.event.EventHooks; +import net.neoforged.neoforge.event.entity.player.PlayerContainerEvent; +import net.neoforged.neoforge.network.PacketDistributor; import tallestegg.guardvillagers.GuardItems; import tallestegg.guardvillagers.GuardLootTables; import tallestegg.guardvillagers.GuardPacketHandler; @@ -74,6 +76,7 @@ import javax.annotation.Nullable; import java.util.*; import java.util.function.Predicate; +import java.util.function.Supplier; public class Guard extends PathfinderMob implements CrossbowAttackMob, RangedAttackMob, NeutralMob, ContainerListener, ReputationEventHandler { protected static final EntityDataAccessor> OWNER_UNIQUE_ID = SynchedEntityData.defineId(Guard.class, EntityDataSerializers.OPTIONAL_UUID); @@ -107,12 +110,10 @@ public class Guard extends PathfinderMob implements CrossbowAttackMob, RangedAtt protected boolean spawnWithArmor; private int remainingPersistentAngerTime; private UUID persistentAngerTarget; - private net.minecraftforge.common.util.LazyOptional itemHandler; public Guard(EntityType type, Level world) { super(type, world); this.guardInventory.addListener(this); - this.itemHandler = net.minecraftforge.common.util.LazyOptional.of(() -> new net.minecraftforge.items.wrapper.InvWrapper(this.guardInventory)); this.setPersistenceRequired(); if (GuardConfig.GuardsOpenDoors) ((GroundPathNavigation) this.getNavigation()).setCanOpenDoors(true); } @@ -186,7 +187,7 @@ public void setPatrolPos(BlockPos position) { @Override protected SoundEvent getAmbientSound() { - return GuardSounds.GUARD_AMBIENT.get(); + return GuardSounds.GUARD_AMBIENT.value(); } @Override @@ -194,13 +195,13 @@ protected SoundEvent getHurtSound(DamageSource damageSourceIn) { if (this.isBlocking()) { return SoundEvents.SHIELD_BLOCK; } else { - return GuardSounds.GUARD_HURT.get(); + return GuardSounds.GUARD_HURT.value(); } } @Override protected SoundEvent getDeathSound() { - return GuardSounds.GUARD_DEATH.get(); + return GuardSounds.GUARD_DEATH.value(); } @Override @@ -321,7 +322,7 @@ protected void completeUsingItem() { if (!this.useItem.isEmpty() && this.isUsingItem()) { this.triggerItemUseEffects(this.useItem, 16); ItemStack copy = this.useItem.copy(); - ItemStack itemstack = net.minecraftforge.event.ForgeEventFactory.onItemUseFinish(this, copy, getUseItemRemainingTicks(), this.useItem.finishUsingItem(level(), this)); + ItemStack itemstack = net.neoforged.neoforge.event.EventHooks.onItemUseFinish(this, copy, getUseItemRemainingTicks(), this.useItem.finishUsingItem(this.level(), this)); if (itemstack != this.useItem) { this.setItemInHand(interactionhand, itemstack); } @@ -413,7 +414,7 @@ public boolean isImmobile() { @Override public void die(DamageSource source) { - if ((level().getDifficulty() == Difficulty.NORMAL || level().getDifficulty() == Difficulty.HARD) && source.getEntity() instanceof Zombie && net.minecraftforge.event.ForgeEventFactory.canLivingConvert((LivingEntity) source.getEntity(), EntityType.ZOMBIE_VILLAGER, (timer) -> { + if ((level().getDifficulty() == Difficulty.NORMAL || level().getDifficulty() == Difficulty.HARD) && source.getEntity() instanceof Zombie && EventHooks.canLivingConvert((LivingEntity) source.getEntity(), EntityType.ZOMBIE_VILLAGER, (timer) -> { })) { ZombieVillager zombieguard = this.convertTo(EntityType.ZOMBIE_VILLAGER, true); if (level().getDifficulty() != Difficulty.HARD && this.random.nextBoolean() || zombieguard == null) { @@ -484,7 +485,7 @@ protected void blockUsingShield(LivingEntity entityIn) { @Override protected void hurtCurrentlyUsedShield(float damage) { - if (this.useItem.canPerformAction(net.minecraftforge.common.ToolActions.SHIELD_BLOCK)) { + if (this.useItem.canPerformAction(ToolActions.SHIELD_BLOCK)) { if (damage >= 3.0F) { int i = 1 + Mth.floor(damage); InteractionHand hand = this.getUsedItemHand(); @@ -506,7 +507,7 @@ protected void hurtCurrentlyUsedShield(float damage) { public void startUsingItem(InteractionHand hand) { super.startUsingItem(hand); ItemStack itemstack = this.getItemInHand(hand); - if (itemstack.canPerformAction(net.minecraftforge.common.ToolActions.SHIELD_BLOCK)) { + if (itemstack.canPerformAction(ToolActions.SHIELD_BLOCK)) { AttributeInstance modifiableattributeinstance = this.getAttribute(Attributes.MOVEMENT_SPEED); modifiableattributeinstance.removeModifier(USE_ITEM_SPEED_PENALTY.getId()); modifiableattributeinstance.addTransientModifier(USE_ITEM_SPEED_PENALTY); @@ -832,7 +833,7 @@ protected void hurtArmor(DamageSource damageSource, float damage) { @Override public void thunderHit(ServerLevel p_241841_1_, LightningBolt p_241841_2_) { - if (p_241841_1_.getDifficulty() != Difficulty.PEACEFUL && net.minecraftforge.event.ForgeEventFactory.canLivingConvert(this, EntityType.WITCH, (timer) -> { + if (p_241841_1_.getDifficulty() != Difficulty.PEACEFUL && EventHooks.canLivingConvert(this, EntityType.WITCH, (timer) -> { })) { Witch witchentity = EntityType.WITCH.create(p_241841_1_); if (witchentity == null) return; @@ -881,28 +882,12 @@ public void openGui(ServerPlayer player) { } this.interacting = true; player.nextContainerCounter(); - GuardPacketHandler.INSTANCE.send(new GuardOpenInventoryPacket(player.containerCounter, this.guardInventory.getContainerSize(), this.getId()), PacketDistributor.PLAYER.with(player)); + GuardPacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), new GuardOpenInventoryPacket(player.containerCounter, this.guardInventory.getContainerSize(), this.getId())); player.containerMenu = new GuardContainer(player.containerCounter, player.getInventory(), this.guardInventory, this); player.initMenu(player.containerMenu); - MinecraftForge.EVENT_BUS.post(new PlayerContainerEvent.Open(player, player.containerMenu)); + NeoForge.EVENT_BUS.post(new PlayerContainerEvent.Open(player, player.containerMenu)); } - @Override - public net.minecraftforge.common.util.LazyOptional getCapability(net.minecraftforge.common.capabilities.Capability capability, @Nullable net.minecraft.core.Direction facing) { - if (this.isAlive() && capability == ForgeCapabilities.ITEM_HANDLER && itemHandler != null) - return itemHandler.cast(); - return super.getCapability(capability, facing); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - if (itemHandler != null) { - net.minecraftforge.common.util.LazyOptional oldHandler = itemHandler; - itemHandler = null; - oldHandler.invalidate(); - } - } public boolean isEating() { return GuardEatFoodGoal.isConsumable(this.getUseItem()) && this.isUsingItem(); diff --git a/src/main/java/tallestegg/guardvillagers/entities/ai/goals/FollowShieldGuards.java b/src/main/java/tallestegg/guardvillagers/entities/ai/goals/FollowShieldGuards.java index 4f9fd85..ab3d194 100644 --- a/src/main/java/tallestegg/guardvillagers/entities/ai/goals/FollowShieldGuards.java +++ b/src/main/java/tallestegg/guardvillagers/entities/ai/goals/FollowShieldGuards.java @@ -8,6 +8,7 @@ import net.minecraft.world.entity.ai.targeting.TargetingConditions; import net.minecraft.world.entity.ai.util.DefaultRandomPos; import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.common.ToolActions; import tallestegg.guardvillagers.entities.Guard; public class FollowShieldGuards extends Goal { @@ -29,7 +30,7 @@ public boolean canUse() { this.taskOwner.getBoundingBox().inflate(8.0D, 8.0D, 8.0D)); if (!list.isEmpty()) { for (Guard guard : list) { - if (!guard.isInvisible() && guard.getOffhandItem().canPerformAction(net.minecraftforge.common.ToolActions.SHIELD_BLOCK) && guard.isBlocking() + if (!guard.isInvisible() && guard.getOffhandItem().canPerformAction(ToolActions.SHIELD_BLOCK) && guard.isBlocking() && this.taskOwner.level() .getNearbyEntities(Guard.class, NEARBY_GUARDS.range(3.0D), guard, this.taskOwner.getBoundingBox().inflate(5.0D)) diff --git a/src/main/java/tallestegg/guardvillagers/entities/ai/goals/RaiseShieldGoal.java b/src/main/java/tallestegg/guardvillagers/entities/ai/goals/RaiseShieldGoal.java index 8ad7766..68a6c4d 100644 --- a/src/main/java/tallestegg/guardvillagers/entities/ai/goals/RaiseShieldGoal.java +++ b/src/main/java/tallestegg/guardvillagers/entities/ai/goals/RaiseShieldGoal.java @@ -1,15 +1,16 @@ package tallestegg.guardvillagers.entities.ai.goals; -import net.minecraft.world.entity.monster.RangedAttackMob; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.monster.Creeper; +import net.minecraft.world.entity.monster.RangedAttackMob; import net.minecraft.world.entity.monster.Ravager; import net.minecraft.world.item.BowItem; import net.minecraft.world.item.CrossbowItem; -import net.minecraft.world.InteractionHand; -import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.common.ToolActions; import tallestegg.guardvillagers.configuration.GuardConfig; import tallestegg.guardvillagers.entities.Guard; @@ -22,8 +23,8 @@ public RaiseShieldGoal(Guard guard) { @Override public boolean canUse() { - return !CrossbowItem.isCharged(guard.getMainHandItem()) && (guard.getOffhandItem().getItem().canPerformAction(guard.getOffhandItem(), net.minecraftforge.common.ToolActions.SHIELD_BLOCK) && raiseShield() && guard.shieldCoolDown == 0 - && !guard.getOffhandItem().getItem().equals(ForgeRegistries.ITEMS.getValue(new ResourceLocation("bigbrain:buckler")))); + return !CrossbowItem.isCharged(guard.getMainHandItem()) && (guard.getOffhandItem().getItem().canPerformAction(guard.getOffhandItem(), ToolActions.SHIELD_BLOCK) && raiseShield() && guard.shieldCoolDown == 0 + && !guard.getOffhandItem().getItem().equals(Registries.ITEM.registry().equals(new ResourceLocation("bigbrain:buckler")))); } @Override @@ -33,7 +34,7 @@ public boolean canContinueToUse() { @Override public void start() { - if (guard.getOffhandItem().getItem().canPerformAction(guard.getOffhandItem(), net.minecraftforge.common.ToolActions.SHIELD_BLOCK)) + if (guard.getOffhandItem().getItem().canPerformAction(guard.getOffhandItem(), ToolActions.SHIELD_BLOCK)) guard.startUsingItem(InteractionHand.OFF_HAND); } diff --git a/src/main/java/tallestegg/guardvillagers/networking/GuardFollowPacket.java b/src/main/java/tallestegg/guardvillagers/networking/GuardFollowPacket.java index 84f5004..cc22edd 100644 --- a/src/main/java/tallestegg/guardvillagers/networking/GuardFollowPacket.java +++ b/src/main/java/tallestegg/guardvillagers/networking/GuardFollowPacket.java @@ -5,10 +5,12 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.entity.Entity; -import net.minecraftforge.event.network.CustomPayloadEvent; +import net.neoforged.neoforge.network.NetworkEvent; import tallestegg.guardvillagers.entities.Guard; -public class GuardFollowPacket { +import java.util.function.Supplier; + +public class GuardFollowPacket{ private final int entityId; public GuardFollowPacket(int entityId) { @@ -27,19 +29,24 @@ public int getEntityId() { return this.entityId; } - public void handle(CustomPayloadEvent.Context context) { - context.enqueueWork(() -> { - ServerPlayer player = context.getSender(); - if (player != null && player.level() instanceof ServerLevel) { - Entity entity = player.level().getEntity(this.getEntityId()); - if (entity instanceof Guard) { - Guard guard = (Guard) entity; - guard.setFollowing(!guard.isFollowing()); - guard.setOwnerId(player.getUUID()); - guard.playSound(SoundEvents.VILLAGER_YES, 1.0F, 1.0F); - } - } + public void handle(NetworkEvent.Context ctx) { + ctx.enqueueWork(() -> { + ctx.enqueueWork(new Runnable() { + @Override + public void run() { + ServerPlayer player = ctx.getSender(); + if (player != null && player.level() instanceof ServerLevel) { + Entity entity = player.level().getEntity(getEntityId()); + if (entity instanceof Guard) { + Guard guard = (Guard) entity; + guard.setFollowing(!guard.isFollowing()); + guard.setOwnerId(player.getUUID()); + guard.playSound(SoundEvents.VILLAGER_YES, 1.0F, 1.0F); + } + } + } + }); }); - context.setPacketHandled(true); + ctx.setPacketHandled(true); } } \ No newline at end of file diff --git a/src/main/java/tallestegg/guardvillagers/networking/GuardOpenInventoryPacket.java b/src/main/java/tallestegg/guardvillagers/networking/GuardOpenInventoryPacket.java index 24d7af3..a933942 100644 --- a/src/main/java/tallestegg/guardvillagers/networking/GuardOpenInventoryPacket.java +++ b/src/main/java/tallestegg/guardvillagers/networking/GuardOpenInventoryPacket.java @@ -1,7 +1,7 @@ package tallestegg.guardvillagers.networking; import net.minecraft.network.FriendlyByteBuf; -import net.minecraftforge.event.network.CustomPayloadEvent; +import net.neoforged.neoforge.network.NetworkEvent; import tallestegg.guardvillagers.GuardPacketHandler; public class GuardOpenInventoryPacket { @@ -37,7 +37,7 @@ public int getEntityId() { return this.entityId; } - public void handle(CustomPayloadEvent.Context context) { + public void handle(NetworkEvent.Context context) { context.enqueueWork(() -> { GuardPacketHandler.openGuardInventory(this); }); diff --git a/src/main/java/tallestegg/guardvillagers/networking/GuardSetPatrolPosPacket.java b/src/main/java/tallestegg/guardvillagers/networking/GuardSetPatrolPosPacket.java index 2ee99f4..b7f4874 100644 --- a/src/main/java/tallestegg/guardvillagers/networking/GuardSetPatrolPosPacket.java +++ b/src/main/java/tallestegg/guardvillagers/networking/GuardSetPatrolPosPacket.java @@ -5,7 +5,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; -import net.minecraftforge.event.network.CustomPayloadEvent; +import net.neoforged.neoforge.network.NetworkEvent; import tallestegg.guardvillagers.entities.Guard; public class GuardSetPatrolPosPacket { @@ -38,7 +38,7 @@ public void setPressed(boolean pressed) { this.pressed = pressed; } - public void handle(CustomPayloadEvent.Context context) { + public void handle(NetworkEvent.Context context) { context.enqueueWork(() -> { ServerPlayer player = context.getSender(); if (player != null && player.level() instanceof ServerLevel) { diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 5aef9b8..0043891 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -1,15 +1,9 @@ -public net.minecraft.world.entity.Mob f_21351_ # inventoryArmor -public net.minecraft.world.entity.Mob f_21350_ # inventoryHands -public net.minecraft.world.entity.ai.goal.MeleeAttackGoal f_25540_ # attacker -public net.minecraft.world.entity.ai.goal.GoalSelector f_25345_ #goals -public net.minecraft.world.entity.ai.goal.WrappedGoal f_25994_ #inner -public net.minecraft.world.entity.Entity m_20124_(Lnet/minecraft/world/entity/Pose;)V # setPose -public net.minecraft.world.entity.ai.goal.MeleeAttackGoal f_25548_ # nah -public net.minecraft.world.level.storage.loot.parameters.LootContextParamSets m_81428_(Ljava/lang/String;Ljava/util/function/Consumer;)Lnet/minecraft/world/level/storage/loot/parameters/LootContextParamSet; # register -public net.minecraft.world.entity.ai.goal.MeleeAttackGoal f_25543_ # path -protected net.minecraft.client.gui.components.ImageButton f_94224_ # xTexStart -protected net.minecraft.client.gui.components.ImageButton f_94227_ # textureWidth -protected net.minecraft.client.gui.components.ImageButton f_94228_ # textureHeight -protected net.minecraft.client.gui.components.ImageButton f_94225_ # yTexStart -protected net.minecraft.client.gui.components.ImageButton f_94226_ # yDiffText -public net.minecraft.world.entity.npc.Villager f_35378_ # lastGossipTime \ No newline at end of file +public net.minecraft.world.entity.Mob armorItems +public net.minecraft.world.entity.Mob handItems +public net.minecraft.world.entity.ai.goal.MeleeAttackGoal attacker +public net.minecraft.world.entity.ai.goal.GoalSelector goals +public net.minecraft.world.entity.ai.goal.WrappedGoal inner +public net.minecraft.world.entity.Entity setPose(Lnet/minecraft/world/entity/Pose;)V +public net.minecraft.world.entity.ai.goal.MeleeAttackGoal ticksUntilNextAttack +public net.minecraft.world.entity.ai.goal.MeleeAttackGoal path +public net.minecraft.world.entity.npc.Villager lastGossipTime \ No newline at end of file diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 764e7d7..3b665da 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,29 +1,44 @@ + modLoader="javafml" #mandatory -loaderVersion="[46,)" #mandatory (28 is current forge version) +loaderVersion="${loader_version_range}" #mandatory +license="${mod_license}" issueTrackerURL="https://github.com/seymourimadeit/guardvillagers/issues" #optional -license="MIT for the code, ARR for the assets" -# A list of mods - how many allowed here is determined by the individual mod loader [[mods]] #mandatory -modId="guardvillagers" #mandatory -version="${file.jarVersion}" #mandatory -displayName="Guard Villagers" #mandatory -updateJSONURL="https://raw.githubusercontent.com/seymourimadeit/guardvillagers/master/update.json" #optional +modId="${mod_id}" #mandatory +version="${mod_version}" #mandatory +displayName="${mod_name}" #mandatory +authors="${mod_authors}" #optional displayURL="https://www.curseforge.com/minecraft/mc-mods/guard-villagers" #optional -credits="TallestEgg and HadeZ/SadNya69 for the textures." #optional -authors="TallestEgg, HadeZ/SadNya69 for the textures." #optional -description=''' -Need some help with pest control? The Guards are ready to help! -''' -[[dependencies.guardvillagers]] #optional - modId="forge" #mandatory +updateJSONURL="https://raw.githubusercontent.com/seymourimadeit/guardvillagers/master/update.json" #optional +logoFile="guard_villagers.png" #optional +# The description text for the mod (multi line!) (#mandatory) +description='''${mod_description}''' +# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. +[[dependencies.${mod_id}]] #optional + # the modid of the dependency + modId="neoforge" #mandatory + # Does this dependency have to exist - if not, ordering below must be specified mandatory=true #mandatory - versionRange="[46.0.0,)" #mandatory + # The version range of the dependency + versionRange="${neo_version_range}" #mandatory + # An ordering relationship for the dependency - BEFORE or AFTER required if the dependency is not mandatory + # BEFORE - This mod is loaded BEFORE the dependency + # AFTER - This mod is loaded AFTER the dependency ordering="NONE" + # Side this dependency is applied on - BOTH, CLIENT, or SERVER side="BOTH" # Here's another dependency -[[dependencies.guardvillagers]] +[[dependencies.${mod_id}]] modId="minecraft" mandatory=true - versionRange="[1.20.2, 1.20.3]" + # This version range declares a minimum of the current minecraft version up to but not including the next major version + versionRange="${minecraft_version_range}" ordering="NONE" - side="BOTH" \ No newline at end of file + side="BOTH" +[[mixins]] + config="guardvillagers.mixins.json" +# Features are specific properties of the game environment, that you may want to declare you require. This example declares +# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't +# stop your mod loading on the server for example. +#[features.${mod_id}] +#openGLVersion="[3.2,)" diff --git a/src/main/resources/guard_villagers.png b/src/main/resources/guard_villagers.png new file mode 100644 index 0000000000000000000000000000000000000000..47c176cf34b7d0290221d43a8ac89ea1c4c6ff93 GIT binary patch literal 74349 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 TdGvuC00000NkvXXu0mjflCf6b literal 0 HcmV?d00001 diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 4070d6d..59c5240 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,7 +1,8 @@ { - "pack": { - "description": "Hi!", - "pack_format": 11, - "_comment": "A pack_format of 4 requires json lang files. Note: we require v4 pack meta for all mods." - } + "pack": { + "description": { + "text": "${mod_id} resources" + }, + "pack_format": ${pack_format_number} + } }