From e224dc91a7e2c17d197cd1497006f4a62f81f176 Mon Sep 17 00:00:00 2001 From: Kilka_v_HJlebe Date: Sun, 2 Aug 2026 22:23:18 +0300 Subject: [PATCH] nu i xuinya --- .gitignore | 2 + .gradle/9.4.0/checksums/checksums.lock | Bin 0 -> 17 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 19589 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/9.4.0/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/9.4.0/fileHashes/fileHashes.bin | Bin 0 -> 19497 bytes .gradle/9.4.0/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .gradle/9.4.0/gc.properties | 0 .gradle/9.6.1/checksums/checksums.lock | Bin 0 -> 17 bytes .gradle/9.6.1/checksums/md5-checksums.bin | Bin 0 -> 18847 bytes .gradle/9.6.1/checksums/sha1-checksums.bin | Bin 0 -> 19793 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 316506 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/9.6.1/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/9.6.1/fileHashes/fileHashes.bin | Bin 0 -> 24897 bytes .gradle/9.6.1/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../9.6.1/fileHashes/resourceHashesCache.bin | Bin 0 -> 22237 bytes .gradle/9.6.1/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 2 + .gradle/buildOutputCleanup/outputFiles.bin | Bin 0 -> 19163 bytes .../.globals.work.bin | 2 + .../.strings.work.bin | Bin 0 -> 21590 bytes .../_.work.bin | Bin 0 -> 5087 bytes .../buildfingerprint.bin | Bin 0 -> 2685 bytes .../classloaderscopes.bin | Bin 0 -> 2284 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | 3 + .../work.bin | Bin 0 -> 600 bytes .../.globals.work.bin | 1 + .../.strings.work.bin | Bin 0 -> 12716 bytes .../_.work.bin | Bin 0 -> 903 bytes .../buildfingerprint.bin | Bin 0 -> 2685 bytes .../classloaderscopes.bin | Bin 0 -> 1 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | Bin 0 -> 517 bytes .../work.bin | Bin 0 -> 424 bytes .../27n1092mio4qe3wkv681h5the/candidates.bin | 1 + .../2qdf9wskj5iqajk2xjkqyg0pn/candidates.bin | 1 + .../.globals.work.bin | 1 + .../.strings.work.bin | Bin 0 -> 22577 bytes .../_.work.bin | Bin 0 -> 6101 bytes .../buildfingerprint.bin | Bin 0 -> 2745 bytes .../classloaderscopes.bin | Bin 0 -> 2284 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | 4 + .../work.bin | Bin 0 -> 719 bytes .../5lz7xass8vt3nd0p8lgom6m2w/candidates.bin | 1 + .../.globals.work.bin | 1 + .../.strings.work.bin | Bin 0 -> 2451 bytes .../_.work.bin | Bin 0 -> 277 bytes .../buildfingerprint.bin | Bin 0 -> 2651 bytes .../classloaderscopes.bin | Bin 0 -> 1 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | 3 + .../work.bin | Bin 0 -> 431 bytes .../.globals.work.bin | 1 + .../.strings.work.bin | Bin 0 -> 23294 bytes .../_.work.bin | Bin 0 -> 6287 bytes .../build.work.bin | Bin 0 -> 31 bytes .../buildfingerprint.bin | Bin 0 -> 2745 bytes .../classloaderscopes.bin | Bin 0 -> 2284 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | Bin 0 -> 517 bytes .../work.bin | Bin 0 -> 776 bytes .../.globals.work.bin | 2 + .../.strings.work.bin | Bin 0 -> 16114 bytes .../_.work.bin | Bin 0 -> 2231 bytes .../buildfingerprint.bin | Bin 0 -> 3041 bytes .../classloaderscopes.bin | Bin 0 -> 2284 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | Bin 0 -> 517 bytes .../work.bin | Bin 0 -> 511 bytes .../8j33gttysi79ilkcujngqbuh9/candidates.bin | 1 + .../ayj2ugdjwjcncqmzoelvt5bmf/candidates.bin | 1 + .../br6ymmhzfv5cg7jaof9j4b6o3/candidates.bin | 1 + .../configuration-cache.lock | Bin 0 -> 17 bytes .../ewc732gincbm9sqc78v4gihe2/candidates.bin | 1 + .../.globals.work.bin | Bin 0 -> 172 bytes .../.strings.work.bin | Bin 0 -> 19884 bytes .../_.work.bin | Bin 0 -> 3571 bytes .../buildfingerprint.bin | Bin 0 -> 2745 bytes .../classloaderscopes.bin | Bin 0 -> 2286 bytes .../entry.bin | Bin 0 -> 71 bytes .../projectfingerprint.bin | Bin 0 -> 517 bytes .../work.bin | Bin 0 -> 539 bytes .gradle/configuration-cache/gc.properties | 0 .gradle/file-system.probe | Bin 0 -> 8 bytes .gradle/vcs-1/gc.properties | 0 build.gradle.kts | 47 ++ .../ModerationCommandsPlugin.class | Bin 0 -> 12758 bytes .../moderationcommands/ban/BanService.class | Bin 0 -> 6291 bytes .../command/BanCommand.class | Bin 0 -> 7650 bytes .../command/CommandCompletions.class | Bin 0 -> 3447 bytes .../command/CommandOwnership.class | Bin 0 -> 5869 bytes .../command/KickCommand.class | Bin 0 -> 5467 bytes .../command/ModerationCommand.class | Bin 0 -> 4998 bytes .../command/MuteCommand.class | Bin 0 -> 7749 bytes .../command/UnbanCommand.class | Bin 0 -> 5285 bytes .../command/UnmuteCommand.class | Bin 0 -> 5800 bytes .../ActorReasonParser$ActorReason.class | Bin 0 -> 1823 bytes .../common/ActorReasonParser.class | Bin 0 -> 2605 bytes .../common/BlockedCommandMatcher.class | Bin 0 -> 1465 bytes .../common/DurationFormatter.class | Bin 0 -> 2673 bytes .../common/DurationParser.class | Bin 0 -> 3278 bytes .../common/KnownPlayerResolver.class | Bin 0 -> 4155 bytes .../common/PlayerTarget.class | Bin 0 -> 1964 bytes .../common/PunishmentDuration.class | Bin 0 -> 2505 bytes .../common/ValidationException.class | Bin 0 -> 1229 bytes .../config/MessageService.class | Bin 0 -> 8646 bytes .../config/ModerationSettings.class | Bin 0 -> 5241 bytes ...toneChatMuteIntegration$ChatListener.class | Bin 0 -> 5367 bytes .../FlectoneChatMuteIntegration.class | Bin 0 -> 3353 bytes .../LuckPermsVoiceMuteIntegration.class | Bin 0 -> 13332 bytes .../moderationcommands/kick/KickService.class | Bin 0 -> 984 bytes .../mute/MuteEnforcementListener.class | Bin 0 -> 3691 bytes .../mute/MuteLifecycleCoordinator.class | Bin 0 -> 3965 bytes .../mute/MuteLifecycleObserver.class | Bin 0 -> 596 bytes .../moderationcommands/mute/MuteRecord.class | Bin 0 -> 3449 bytes .../mute/MuteRepository.class | Bin 0 -> 866 bytes .../moderationcommands/mute/MuteService.class | Bin 0 -> 3794 bytes .../mute/MutedAttemptNotifier.class | Bin 0 -> 3744 bytes .../mute/YamlMuteRepository.class | Bin 0 -> 10776 bytes .../common/ActorReasonParserTest.class | Bin 0 -> 3856 bytes .../common/BlockedCommandMatcherTest.class | Bin 0 -> 1418 bytes .../common/DurationParserTest.class | Bin 0 -> 2189 bytes .../config/DefaultConfigTest.class | Bin 0 -> 4401 bytes .../config/PluginDescriptorTest.class | Bin 0 -> 2702 bytes .../FlectoneChatMuteIntegrationTest.class | Bin 0 -> 7173 bytes .../mute/YamlMuteRepositoryTest.class | Bin 0 -> 5913 bytes build/libs/ModerationCommands-1.0.jar | Bin 0 -> 72000 bytes build/libs/ModerationCommands-1.1.jar | Bin 0 -> 72000 bytes .../configuration-cache-report.html | 666 ++++++++++++++++++ .../configuration-cache-report.html | 666 ++++++++++++++++++ build/reports/tests/test/css/base-style.css | 197 ++++++ build/reports/tests/test/css/style.css | 150 ++++ build/reports/tests/test/index.html | 184 +++++ build/reports/tests/test/js/report.js | 285 ++++++++ .../index.html | 146 ++++ .../index.html | 128 ++++ .../index.html | 137 ++++ .../index.html | 137 ++++ .../index.html | 119 ++++ .../index.html | 137 ++++ .../index.html | 155 ++++ build/resources/main/config.yml | 46 ++ build/resources/main/plugin.yml | 54 ++ ...ncommands.common.ActorReasonParserTest.xml | 10 + ...mands.common.BlockedCommandMatcherTest.xml | 8 + ...tioncommands.common.DurationParserTest.xml | 9 + ...ationcommands.config.DefaultConfigTest.xml | 9 + ...oncommands.config.PluginDescriptorTest.xml | 7 + ...ectone.FlectoneChatMuteIntegrationTest.xml | 9 + ...oncommands.mute.YamlMuteRepositoryTest.xml | 11 + .../test/binary/output-events.bin | 0 .../test/binary/results-generic.bin | Bin 0 -> 4003 bytes .../compileJava/previous-compilation-data.bin | Bin 0 -> 125712 bytes .../previous-compilation-data.bin | Bin 0 -> 74481 bytes build/tmp/jar/MANIFEST.MF | 2 + gradle.properties | 6 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 48966 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 248 +++++++ gradlew.bat | 93 +++ settings.gradle.kts | 1 + .../ModerationCommandsPlugin.java | 178 +++++ .../moderationcommands/ban/BanService.java | 86 +++ .../command/BanCommand.java | 100 +++ .../command/CommandCompletions.java | 29 + .../command/CommandOwnership.java | 101 +++ .../command/KickCommand.java | 66 ++ .../command/ModerationCommand.java | 98 +++ .../command/MuteCommand.java | 99 +++ .../command/UnbanCommand.java | 62 ++ .../command/UnmuteCommand.java | 73 ++ .../common/ActorReasonParser.java | 49 ++ .../common/BlockedCommandMatcher.java | 20 + .../common/DurationFormatter.java | 43 ++ .../common/DurationParser.java | 56 ++ .../common/KnownPlayerResolver.java | 66 ++ .../common/PlayerTarget.java | 7 + .../common/PunishmentDuration.java | 27 + .../common/ValidationException.java | 27 + .../config/MessageService.java | 118 ++++ .../config/ModerationSettings.java | 43 ++ .../flectone/FlectoneChatMuteIntegration.java | 101 +++ .../LuckPermsVoiceMuteIntegration.java | 209 ++++++ .../moderationcommands/kick/KickService.java | 15 + .../mute/MuteEnforcementListener.java | 43 ++ .../mute/MuteLifecycleCoordinator.java | 69 ++ .../mute/MuteLifecycleObserver.java | 11 + .../moderationcommands/mute/MuteRecord.java | 35 + .../mute/MuteRepository.java | 19 + .../moderationcommands/mute/MuteService.java | 66 ++ .../mute/MutedAttemptNotifier.java | 48 ++ .../mute/YamlMuteRepository.java | 174 +++++ src/main/resources/config.yml | 46 ++ src/main/resources/plugin.yml | 54 ++ .../common/ActorReasonParserTest.java | 70 ++ .../common/BlockedCommandMatcherTest.java | 26 + .../common/DurationParserTest.java | 37 + .../config/DefaultConfigTest.java | 53 ++ .../config/PluginDescriptorTest.java | 32 + .../FlectoneChatMuteIntegrationTest.java | 88 +++ .../mute/YamlMuteRepositoryTest.java | 109 +++ 205 files changed, 6356 insertions(+) create mode 100644 .gitignore create mode 100644 .gradle/9.4.0/checksums/checksums.lock create mode 100644 .gradle/9.4.0/executionHistory/executionHistory.bin create mode 100644 .gradle/9.4.0/executionHistory/executionHistory.lock create mode 100644 .gradle/9.4.0/fileChanges/last-build.bin create mode 100644 .gradle/9.4.0/fileHashes/fileHashes.bin create mode 100644 .gradle/9.4.0/fileHashes/fileHashes.lock create mode 100644 .gradle/9.4.0/gc.properties create mode 100644 .gradle/9.6.1/checksums/checksums.lock create mode 100644 .gradle/9.6.1/checksums/md5-checksums.bin create mode 100644 .gradle/9.6.1/checksums/sha1-checksums.bin create mode 100644 .gradle/9.6.1/executionHistory/executionHistory.bin create mode 100644 .gradle/9.6.1/executionHistory/executionHistory.lock create mode 100644 .gradle/9.6.1/fileChanges/last-build.bin create mode 100644 .gradle/9.6.1/fileHashes/fileHashes.bin create mode 100644 .gradle/9.6.1/fileHashes/fileHashes.lock create mode 100644 .gradle/9.6.1/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/9.6.1/gc.properties create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 .gradle/buildOutputCleanup/cache.properties create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/.globals.work.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/.strings.work.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/_.work.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/entry.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/work.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.globals.work.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.strings.work.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/_.work.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/entry.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/work.bin create mode 100644 .gradle/configuration-cache/27n1092mio4qe3wkv681h5the/candidates.bin create mode 100644 .gradle/configuration-cache/2qdf9wskj5iqajk2xjkqyg0pn/candidates.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.globals.work.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.strings.work.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/_.work.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/entry.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/work.bin create mode 100644 .gradle/configuration-cache/5lz7xass8vt3nd0p8lgom6m2w/candidates.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/.globals.work.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/.strings.work.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/_.work.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/entry.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/work.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.globals.work.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.strings.work.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/_.work.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/build.work.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/entry.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/work.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.globals.work.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.strings.work.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/_.work.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/entry.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/work.bin create mode 100644 .gradle/configuration-cache/8j33gttysi79ilkcujngqbuh9/candidates.bin create mode 100644 .gradle/configuration-cache/ayj2ugdjwjcncqmzoelvt5bmf/candidates.bin create mode 100644 .gradle/configuration-cache/br6ymmhzfv5cg7jaof9j4b6o3/candidates.bin create mode 100644 .gradle/configuration-cache/configuration-cache.lock create mode 100644 .gradle/configuration-cache/ewc732gincbm9sqc78v4gihe2/candidates.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/.globals.work.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/.strings.work.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/_.work.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/entry.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/work.bin create mode 100644 .gradle/configuration-cache/gc.properties create mode 100644 .gradle/file-system.probe create mode 100644 .gradle/vcs-1/gc.properties create mode 100644 build.gradle.kts create mode 100644 build/classes/java/main/org/kilka/moderationcommands/ModerationCommandsPlugin.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/ban/BanService.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/BanCommand.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/CommandCompletions.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/CommandOwnership.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/KickCommand.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/ModerationCommand.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/MuteCommand.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/UnbanCommand.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/command/UnmuteCommand.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/ActorReasonParser$ActorReason.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/ActorReasonParser.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/BlockedCommandMatcher.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/DurationFormatter.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/DurationParser.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/KnownPlayerResolver.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/PlayerTarget.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/PunishmentDuration.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/common/ValidationException.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/config/MessageService.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/config/ModerationSettings.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration$ChatListener.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/kick/KickService.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MuteEnforcementListener.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MuteLifecycleObserver.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MuteRecord.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MuteRepository.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MuteService.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/MutedAttemptNotifier.class create mode 100644 build/classes/java/main/org/kilka/moderationcommands/mute/YamlMuteRepository.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/common/ActorReasonParserTest.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/common/BlockedCommandMatcherTest.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/common/DurationParserTest.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/config/DefaultConfigTest.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/config/PluginDescriptorTest.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.class create mode 100644 build/classes/java/test/org/kilka/moderationcommands/mute/YamlMuteRepositoryTest.class create mode 100644 build/libs/ModerationCommands-1.0.jar create mode 100644 build/libs/ModerationCommands-1.1.jar create mode 100644 build/reports/configuration-cache/5lz7xass8vt3nd0p8lgom6m2w/b9pynk8jrupvz034nkm3gtsz3/configuration-cache-report.html create mode 100644 build/reports/configuration-cache/8j33gttysi79ilkcujngqbuh9/dplfaitbc5codclcbpo64nxdk/configuration-cache-report.html create mode 100644 build/reports/tests/test/css/base-style.css create mode 100644 build/reports/tests/test/css/style.css create mode 100644 build/reports/tests/test/index.html create mode 100644 build/reports/tests/test/js/report.js create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.common.ActorReasonParserTest/index.html create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.common.BlockedCommandMatcherTest/index.html create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.common.DurationParserTest/index.html create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.config.DefaultConfigTest/index.html create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.config.PluginDescriptorTest/index.html create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest/index.html create mode 100644 build/reports/tests/test/org.kilka.moderationcommands.mute.YamlMuteRepositoryTest/index.html create mode 100644 build/resources/main/config.yml create mode 100644 build/resources/main/plugin.yml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.common.ActorReasonParserTest.xml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.common.BlockedCommandMatcherTest.xml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.common.DurationParserTest.xml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.config.DefaultConfigTest.xml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.config.PluginDescriptorTest.xml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest.xml create mode 100644 build/test-results/test/TEST-org.kilka.moderationcommands.mute.YamlMuteRepositoryTest.xml create mode 100644 build/test-results/test/binary/output-events.bin create mode 100644 build/test-results/test/binary/results-generic.bin create mode 100644 build/tmp/compileJava/previous-compilation-data.bin create mode 100644 build/tmp/compileTestJava/previous-compilation-data.bin create mode 100644 build/tmp/jar/MANIFEST.MF create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts create mode 100644 src/main/java/org/kilka/moderationcommands/ModerationCommandsPlugin.java create mode 100644 src/main/java/org/kilka/moderationcommands/ban/BanService.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/BanCommand.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/CommandCompletions.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/CommandOwnership.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/KickCommand.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/ModerationCommand.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/MuteCommand.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/UnbanCommand.java create mode 100644 src/main/java/org/kilka/moderationcommands/command/UnmuteCommand.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/ActorReasonParser.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/BlockedCommandMatcher.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/DurationFormatter.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/DurationParser.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/KnownPlayerResolver.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/PlayerTarget.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/PunishmentDuration.java create mode 100644 src/main/java/org/kilka/moderationcommands/common/ValidationException.java create mode 100644 src/main/java/org/kilka/moderationcommands/config/MessageService.java create mode 100644 src/main/java/org/kilka/moderationcommands/config/ModerationSettings.java create mode 100644 src/main/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.java create mode 100644 src/main/java/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.java create mode 100644 src/main/java/org/kilka/moderationcommands/kick/KickService.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MuteEnforcementListener.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleObserver.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MuteRecord.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MuteRepository.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MuteService.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/MutedAttemptNotifier.java create mode 100644 src/main/java/org/kilka/moderationcommands/mute/YamlMuteRepository.java create mode 100644 src/main/resources/config.yml create mode 100644 src/main/resources/plugin.yml create mode 100644 src/test/java/org/kilka/moderationcommands/common/ActorReasonParserTest.java create mode 100644 src/test/java/org/kilka/moderationcommands/common/BlockedCommandMatcherTest.java create mode 100644 src/test/java/org/kilka/moderationcommands/common/DurationParserTest.java create mode 100644 src/test/java/org/kilka/moderationcommands/config/DefaultConfigTest.java create mode 100644 src/test/java/org/kilka/moderationcommands/config/PluginDescriptorTest.java create mode 100644 src/test/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.java create mode 100644 src/test/java/org/kilka/moderationcommands/mute/YamlMuteRepositoryTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5c748dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea +run diff --git a/.gradle/9.4.0/checksums/checksums.lock b/.gradle/9.4.0/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..ec7acfbdf304f43d63189d7bf0b6b43d626b3f6d GIT binary patch literal 17 ScmZQ>4i^_qOxfka00jUdU;@nm literal 0 HcmV?d00001 diff --git a/.gradle/9.4.0/executionHistory/executionHistory.bin b/.gradle/9.4.0/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..20c175aa1fc7198768cae80bb6dfc25e8970b253 GIT binary patch literal 19589 zcmeI%Pe>F|90%|>>r!HgQ&1>Dr$GASj427#!GCKhWtpp45G-$Zp6=}K>I*5jKDJ-Rf1RlGKHM8sBN*$CsM0^K!-s8P_zu)_P=IvhA zM@XUgW9cHx*OuijdJupB1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009X6F9NN0A$gf% z3io)NPC<&0(v5aUC=G2p<;j0|Co^4N?f!q@w)XhW%pC3zfB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SNpH0_B8w z585B6Ex)BGJg6nwD}uZ|7Kvybx_VY)tg|dmMe**3-4k=4uC~3j&Yx(xcKdR{FGJ+1 z&O4+IPL&vwsG&+0HKV4K;?yu0m)bIIz{f&5rxsJh@85coMPJ`M9-p5n>Wa*c3V$3S zuaELjSWU7TYO>rXtJ%+vCTfM9$A=C#SNo3E1zP=e&4K#kjdgA;=YgF5r7~niH7#?< zxpOs`uv9(%H*&2A_?v{+vlIHmv}|96KcSHo%UU`OmiuB=HT$x*?<~7i({OAsJ4Gvx z<-7`8mSG-{Ws~uw8e*pVZtWCl1{c7TGcUblzf>XZEeWb|>6~ixX9iC)ZrVsW-Ra4J zII~hZkG7~9(-W4LkYe#hlEzfUJ`vfwvNs?QZ(opFp|C&1Rl^d-Z<3~s*osCPs7bKlIpn+xSrTfIFI z$`7eACX5Sf3oN@wVX12OfZOqi=&$6v?$1^Zvyu7Oq>?{9_0dW9cG2S9p_vQrhLPL|l9=jd>cT*Pj_~4h+w9R!yd}F9_Z%X4){F_}SXZP1!|toi5ydWZ*%s W);Q7~<(uZdI7Pjy^$PaSM%7O*^UZYt literal 0 HcmV?d00001 diff --git a/.gradle/9.4.0/executionHistory/executionHistory.lock b/.gradle/9.4.0/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..0b1e0315924dd054b7607d60a845543a36bd51fe GIT binary patch literal 17 UcmZSf{?C}*V!it|0|YPw05Kl~5&!@I literal 0 HcmV?d00001 diff --git a/.gradle/9.4.0/fileChanges/last-build.bin b/.gradle/9.4.0/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/9.4.0/fileHashes/fileHashes.bin b/.gradle/9.4.0/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..9b84ee37f41ed4713e1c6d3e5162ec518394476f GIT binary patch literal 19497 zcmeI(`%hC>00;0ZuZn;`#jFfO8znLx9Ye8biOeVjXvGa53;}0_m1PBoMdyHo>6j>l zIjO0N3M?uE23GBSgluClwzcmKea?@8L;e0#q4 z-t*!9M$a0Ck@)=059axp`}`0`5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SNqG z1U8a|%;FX!33p--ymvE9q$fG>+us(MDSmK7%6*+wPyc^#=ZgSfeE>Di8`LUB- z`WVkv(r1VAFwGk~Lp5?$doY(LHqgB3{n6SqCcK8rmCtD2vVYh!v&j^|&tFCJvr*E( zm~87)E>E7Mx#^0?XQ|}3V*Wg8ns=u+dsxO&Zu0rdH2?KZ$$097X@Woh&om!t$%t4{ zxX;R;-AsrOH;(SJ#K-&9O*L-D@V}iG zEfh8uHGB~f>vB*$9ys}7`C#u=zQJ!+@ZKqGjNFUWomn7lZr`@RqAsZ1$~L+}X5Sz) z*%3ls4tHfWPB{H&bb3cB9j%z{m2jRk>Tb<{S}--=HT;yY(OZ1Lx2#YSW-`g6vL3Fy zY}a6V>V=IGORRIqwIGFDTq&M4q%hkxT<@{F0UYjX)$w)N)t!p5Ip)05U^jDyT|<)h zg0PXbXvp}Pw)w8|>rBJuvwLOJ8#Cs5e<^IV2K4vM8yzmYYAgtr>EvWD$F!BZXR&`5 zhr99$HP3mpw@Px(rs}T=+e-F|Olt&uv_jbE$t_I0?a@@FwMff8-8PwS*Vw)zLD+b4 ziK4NzL$z2_J=9;67W1)P!++CCVPnL_Tp6u!8S8Ahe|>pfx!uYc=fNGq#$=amPg-R0 zcy#qd?WHxZT(Y}H;JX#VMu+~~fGyV=T9SXzI*{T{o(}f83UVVe$#7mv-W;s{`c8Jy zDak6z)Th3wA1Hd2YiQ|{_@}T@s{Z_fn`ZI#L*hNH6&`Q@!Zo&6k(p$8yhh#}uCYE& z7kX+iPXCs{mUkn^i|krq?@HS}RbamP7v1$Aq)UR7pEOkDuQilwb-w&Ha=3<+-6tda E2PN$S9{>OV literal 0 HcmV?d00001 diff --git a/.gradle/9.4.0/fileHashes/fileHashes.lock b/.gradle/9.4.0/fileHashes/fileHashes.lock new file mode 100644 index 0000000000000000000000000000000000000000..2676ab5bd5b001d3673e2daf3e4582d34db12057 GIT binary patch literal 17 UcmZR+#ZYZ@{>r9s1_%%b05lQ=P5=M^ literal 0 HcmV?d00001 diff --git a/.gradle/9.4.0/gc.properties b/.gradle/9.4.0/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/9.6.1/checksums/checksums.lock b/.gradle/9.6.1/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..1c60718e5d590353e4d26e7f827e5e86f2cdac90 GIT binary patch literal 17 TcmZR68>}U*&|%8R00DsjAz%Wy literal 0 HcmV?d00001 diff --git a/.gradle/9.6.1/checksums/md5-checksums.bin b/.gradle/9.6.1/checksums/md5-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..71d1eb214c0a30f326a4c093ac19973a3aa87715 GIT binary patch literal 18847 zcmeI(?<-w#0LSsK>H2Zg+$(g%5@9T9+?0$f?dDhE!6r>Sv{ravD(Jdh-o z2aE^YHmk+fTKmzowz87zk)%A?(n#o*%=h@7Lv!~R%==sCoNu4b=bZ2N_4IUHLTI)> z#t;`H=3>eW0R#|0009ILKmY**5I_I{1Q0*~0R#|0009L47l9hN5v$samU&H|M79fY zJ3>xE-N`?_8%c$mdMZSj&-{Kc{5r9v<7RKE%FDyeJpS#QsI;y7E|r%(G4qm%kipKQ z`Ca4w7BjC|uCn*eM!z!hJLkDydo-T96K_0c%FH{me|h#pAD^vKuBX_{&8xhBQFS;Y zfB*srAb-vlkLC-#pSv6%7=9Sm1zZh& z?#^#sipw0xDN&6G+0=*4Cr_6e&aWdYZJ%=QHbmEV*4>LdR*maLX9Z#T7T9R~-ENtF z`eo1Majy9b>bh0K9J+R^R`ET{i9c-sn uyvrLMnvwr5=sQnXRgHhG%F>ot75jNLKc#P>e5vwzpK9EAuNu}?{T-*oC%qs5 literal 0 HcmV?d00001 diff --git a/.gradle/9.6.1/checksums/sha1-checksums.bin b/.gradle/9.6.1/checksums/sha1-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..116b8690b97386081db1c91b2faf9fe8993ce166 GIT binary patch literal 19793 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%0A_<4v^b>#8n1-&{ z2sF6vuo~yDQk7@(x^C+qt6V5yC(i{9@%PZ+o?_-*p{I1-mAvO4KWh5wQ*~z%G(^Lp z!M>ZdMgYT`Q{ziktH-Q!()(N^Iq@2P(4aK18nRn5HPk6#$9i1S(uSff!0HBB>5A=v z2In?bV?iz@;7RP-$Spq-9ro>7bB$@}?`eSs_hnW?OWB4lWb9tDy7GRzUhisf{#XqW z{Ox`=?5#w?^;i&kcHSP{xaz%(2S=Yc7lZfNF+*Y_tie9T6}%DqIx4z?e1Hfl6p2O2}zNYG|>gN`us0Nv4F5jwdZ z^`Aa9*4=Xz#0~rnU!D+FqyN~7D6is+scmf2^PhGWdozu-xu3BL6bd`GA_+CPss)cb zyl~8I$vF2@`NnM(SmW1irajRpS04!*8KH6YFpYJ|_)27d$ZF(xuDmm6c5vCar-!qEj?fvVp&uatMuH}^ z6Lf?cl$5)A-Y5S=%kMWydz|B+4r?UgzYRl^XEnydJ9j?cX6iZ|9;W<4T>;y7Gs;sx z`&FcLK0@1P@`RkdP`e}BfmP9=VgE~?0f zH?Rf+e|KI8dzYGEB#$`@4J%)wdwlDzl5Dwk46lLRh(Y6>13H3H-qEJ#ZbFyXIuzoq zm!A*b*9Y@hmn6azDAXxFgY$KQIag&}nrE>#`_QAb>q^i#1$H5<2{?d`P=l>f+@nh| zsGDj+;hiS>Y%kL&u&iJT6b@`RB^YLlO@(T*V-EcYYZ%+1E$D$8tcTZ!``hX%tP;r__m{Aokr0gs(a2RG@0TCsD(A&=b$4PM;?34J~VQo zmeDe3FW(jHg&X+HxwBaf>zM{J8DfiubY?4w&|Ng(=e)oYTY;c)7J`mYW01WsJ?Ea~ zn$|w&=8@dCm3WO_rapex(MrN&} z`E`%_rytW^h#T{uA@`Kk*cR6=FzP6!;C*fM8fZ|rERX&vHp1kH&#J|9jr5AjTcL)-;<8K zeC{?T!LhDeX%TKLfrcRXOcD)+X+;~05=NKEYropD?Zbj#+}HvQMeH|a2=lO?o8Gy9 zpDNw$?E6NSt9P(xQEcY;HCM-ecY$CyJj%Q+QF7c~);QoJd*V!ZS1Yi#fi=XkSdEkf z%dW*y8oZnDG4||L4M@OiV7m@zGh#qTs8Ll`Q|SA=#dU?= zfA5#nnCM^cs{W_ao7d7Dh1ZCMHQ1Y2jg#$NC*^b>XEj*y?>zD44%iWxXNCO~0h&Z2 z=m;~9cBegV(f?uo{=xm&lWjC`AIA(E8dIS5O=C5@{eB+a;d>?KTai|?BrOSiE`X8x z=^4|Y(7+WX*2uQ-&F>LEv`V)-BIz0>3uJ`V(EJDuPV7mUa8^^+C@{zNDbS{>ab2p( zA}*qwrfXd-R=&^cB&=cH2@Ot=9kE7JQ_sJOvFbU`%QNc~YO3{_hJg>BF6R_?1A*Z+ z-&eFWbuKe79aI%~8xD=lVXy}K6no;kI|r8Oys%0a>hGes2!w!7E10=~&nPr_HCWGT z?d#a+5VZqdX9D|kJWPkcUI>izN7$YY8jmUH2wC}WI~~H=9GVx|ptipL(z9($BefG7 z3EFg!1kvDqvHtqn(Cm4}o3w=Q1fR@g8U?oC=?`l{Q(W^yf+}KHQrqN;`gx+7)X#$Z z26hE)H$j6l9(*O7RV9ZlW356QeV}!BxI1q-{`s(Vh6WGVTZqO`VF;Uo@AUrYSBfk4 ztmUl7YZOC6Se@0#U7pmD>$}%qKugvyIXz_=Zh&VXtcgp4j&N30zKj!xSKc0)*_wXw z+dGaG(6EEMD0L3D3lR(fN0YpHoHD}fyY8EJ4HWS~!%Z8j0J6FWI)d>tC{e4>&@Nmi zLoMX*@k(%q!LqV*VG6J#7{djThj)JOe%e;{NzmAQ0IVm>a5I2|r+Px(K1$upz3+pC z!JA`?4L8ui>R=j1(BNkWUkNoVGGAIN)#yZboObQ=(aaj3Tx0GOt7J$jyrF*jSmO_s z@p-#=Y$GQd!q-`AXhrMyH!mp{@3Fb^SvuuR+GIlz``s?WSv}h?to~%K(XVgs|LywF z_F~>-gN9uff^kop=hmseo^+3ri=|?zGK|Rv{~uQ4z4KwCw%(;D3%~DLlu+~%{Dkt~ zbOpfOnpoql#6`Y))LRKMgBgySY+ivK;lBp|6zi&c>&0^2hkfsjxdj4{~#~vIk&%Ty?>y}ez8WzWP>e+)d*a+T6gGHU7m5~L&f#UcU31F?BEE* z8nK7!7HYS;d#iOQ#!|((Q4M@&;Fuy^J4+sEffBp%!l1vhfxZP+lWVa3V6AZ}^@gUd z=vjl})<3G(hO{N1VT1qtL75^esh9eapVOtQ&wWw1^B#UO=t(`2nG-J-OtjnblwxqvQj&o zPW3V8kh5m=&B(P)yhr`|bu`AoZUfFLQCi_^IxWL?ZZ$f;K1tKI4pG(?73YwSx{cIL~I;m>(uTA$_{Nuhawe{aCr zQW4M*&gx^L7sEi=ru6%w;@FFJ;ox%tvPw@pz!WI7U{*u#m|>{UJKx7@*Ei0g@8AGW zU|71gozRfxWHkg-Dmt|N6GGD3<22{>SHFe^y5k7Avl?@%^JV*mop>nqGatlx3fjZ7 zx`yotpz-yCjxdj3{(E0s%Qh0~6a6vn{7Mh(XxLe~;kys}6im$ zm>O1K)&mVK>?ak_IO0G@sKLFP@6DmgOHX%|ZI>~*o(zu7O!quC9?bk0=m^G`ciCym zHZC>C5}rtdlQCdDF=uYT6exUCJYN;(M0l9Z=nK;CjyI^^l{|nO`2B-A#dFD&yXgJm KH_RINF8V*3BCcQn literal 0 HcmV?d00001 diff --git a/.gradle/9.6.1/fileHashes/fileHashes.lock b/.gradle/9.6.1/fileHashes/fileHashes.lock new file mode 100644 index 0000000000000000000000000000000000000000..4aeb2ee2b0e926f3bb29e0ae459ad347ab2a0b9d GIT binary patch literal 17 VcmZRcFZ)7rnVijI1~6dq1OP3L1MdI; literal 0 HcmV?d00001 diff --git a/.gradle/9.6.1/fileHashes/resourceHashesCache.bin b/.gradle/9.6.1/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..30f693cf1566b8dc0a179cb4db05ce84a304a939 GIT binary patch literal 22237 zcmeI(c{J4h9tUtsJeFjCDiRS{LRqp6BFY$yv4(7SEG1$nlBWkzvWsll9z-EYWqDAt zmnYjJ`<`M-i6kN1obPCFT@gI>HAWU%cU%N%ydRy=S6f9UDAKMEuncUl9-yFt%5so%YPPfms6ozSyg8kIlz__+Zm z&_U0oA^)yF(EJcMwhwxq5MGu%bLBd4GgIjKg#qD>akiGgad_wjX|8rtG;BoRCg#u! ztq#{bmRRrvuFnYlL1T|%>b|ul%6#?>|5$eEX5i^o;6@hEA2HVDaOG=O0>^qmFY$L0 zNM-CVrp(ueUb@Rygkl5ywd!lp>{N<}Z@B;SOSMMKrNHqx=+*W3M>z8gz*M*%=rvtc zFW!n^tiT_1?m(}bJ6g3UZ;t_P!U?_Jj;1(v?Cv6PtTgl&szc$0&JlNk;})TJYkT@$ z(>whFxT!YuUP5B)@<_}%;6~ig2b0LbiP751l=<<{#~7^oB3ZhMD0v0w={SCKVx>A+OJ>Z11&?kthsYEGn%J~6X27Pk6yiX5X{vPCYgP^~|Xwy00>&*tP za~1m3ac)7*?B-MN)*m`k&}Vk)|4xVTO9PJo z1^Q#Fa=aV7g-#csWl5hV<_q%1v>RSv5i-ozdj+^DHFWw1 z2WN9DS1CQ1Rc`o-is}AIHAav(k%zurE#e`ytWPg+BR}YD5;Nkb$EaX}nNkgKgF5IO{E;GQPC4rzH9sCYMChE)1f=dyJRJgVU=97(qxxT? z-kC`NH>!rd>wZ%z-$TU^;Ci;ucUL#|mlQHI04E%P&SR;v6y#9*47lkh=zEznc?yHt zDBIWg#D+I^@60^o(@mLE1YNLO=M$^Fi7IeoVdz3;d!#%gmZ*W_=b;Oe1Wqb%52Boh z^?0F6+&#s(=J)zB$m=#imwcHP9)_KF1#aRCUD}J+Pmc4sFmSVE=yK+9Z@Mk2hJl-g zLYJ3b5^E78yHmVi!!ezI{GvmW0gj7Sl%YyrirTJ{md>yMsQ3_0V^aHyVSk7ZRZEcFlzW zI3W_cv1F+Zfw%H+%KS&rO}zx=@}h22jtk>6(9IVDk}f&?DG2hq_Rvq-csg7lifRHk zZGmnb8ri2Gp+wn^1T1u0$@6MMG^UjA16TrdqKQbA@9V@nl=bX@?vNVWE}pu~MOn`q z&`-1RNMLzkEaJ@k2UK+}Q+lBq!0XG$b4uAjn#!1;%Kmz@VHh?yO zHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yOHh?yO zHh?yOHh?yOHh?yOHh?zpziUAD$LQTZp6u&SHs=GSO>deH`!vMHR8Z&gKL3Gx|2+|1 zmeekmZnD~Q>u8#c-;pF_Vtzp(z;*tDL92tdUwQf9`c;&hW^gRh=2SkTQ}e`BW#J^b z2*^Zzt=xiqOJ{w*uas!r^2hVYg!IUPJ&{z^;cJQ*+i|JUGsr~TSXIcK@7K0j9y#@E zidAGkGO_G<)4ML6Fc5LLFuzp>Z-GqcyQ&|%*T>55-SBlvIP1M4GSRJ2Rx8fyDoShY z$}n_6ZT*_LP46~ZBT7wdk!PTan1Trxo4$!m2qoCRn$O0V_+NHSqVot_K_()urx9|a zT*7>?6*U|c{#nR`iNWknjK92vrR(KfvOakgnfMa>Skqdb>94Y`w4wcW7KzBjj^Zz+ zvpyFDoLZw&>b)G;kcm4MDjXIMM$Nv;B-7>fIyWK{&CKzVT4DTqd$nDsad@irdp$Pw zk$G}kaemIP3$fzy7yDeS)_1Q>iO|t2<^%lg!Q3~ens{tjn~{k+-{bvNInzmmm#@1p#Yhfm^$421(PAL zGp~rL^d|lKb+en6BK{a_PR^9_o>h0vE)`taVo$!fzhDpkP`X{%tpY8fVB#!t#*+;E z@apG0A>b>ROpFa}BRz}FRp~gT6G_(P z`U9B=QAvKyEUH939vIyAa=*|gWTNa`(c_LB|7Se%q;fe|-wI^HqEY=ePyE^~w|}^v z5I?!VjZ7#qw|@wj#KqdFC&$_c?q0usds81-q3<(@N7hK6+IF`#ot~CNCO!(i8l@f~ zmyV_AX6*?go0f<%V~I?RvjwOY zpB?$8T~all%8~O3nGk5N_LQ5uex0cXzJ=W4|3-r6SJBZ zMd#JNTw&B6fV%P7F*tA_3o$}_$ZVJo6LqcPn z+KY3@#B-iuugk3`<3gWK{@tcFFpf-IvESEIk{`q1hzU;VYqMEICZ5a=-89XTS*zj* z@Ok5HyoOA0y9j+1uIhhk#3eRzof{jCOb{P-T-OY-O0-iG{9YCta{-yqZ>80b$mEI= zxp?FCnG&xp&Oup@)=g^0U!CbDHSdbuxw^#}W=~@Ui(vn#rd!7%(Y ze55d2l}at1Dc@W|>V(w#HRhX^^7HMYF|jYyPcv**J$y|%!3)=foZ;L`YL%xhm!t2t z6u+*_cO98%sPSUb`_>&ZHF}V(Mm~53nK)NNBXmE3&y3~Xm)r5@T1SxyF0L{D5u-p) z;gr6l1D~bTk%>~1`)PUY#Vl->nxk$kO-&*bGK&s;(lINuhDJ*YQ@i%DA`{Ove800! zW)2aOys1T3*ndMNR+YHUVruRCE`(Yd#%Y90BNKm7iJ6`E#(jIchvf0P*h=Q z!>b1q1xlK>{XSP!vBjF2%XiU|nMI`}s}__Bi}tPG1-5C+`3|S_cyk;VQSH@88IJ&$B_OGhTEJ(vgjJ*0dCX0Q`am|k%p6GD12G0cLc?6c|- zizZqhw)hU?BU_-f=$yZ|`_P2OgiAv*at8kGcBP`vdqny|-aXFX^7s>(`1#pkM&GX} zx8KiYo@_gC%h7`cIit*5{*BS%$;F_X0Y!6X2)W2ahwN|d{f?m~*;!WfLg4}tP_kT0zy*++e zl}I>0L*vkaOsKNfr;2+xtLoHU{@a=1?H1pp9dOQzH!9d4MHVIr3DA_(BWL{lc-d+X F`X?t=LK*-7 literal 0 HcmV?d00001 diff --git a/.gradle/9.6.1/gc.properties b/.gradle/9.6.1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000000000000000000000000000000000000..8ff9337b1be784190db779d22b2fe90296bc1472 GIT binary patch literal 17 UcmZR+X_i{??Dn-!3=r@f078-mU;qFB literal 0 HcmV?d00001 diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..1a9af6f --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Sun Aug 02 18:47:18 MSK 2026 +gradle.version=9.6.1 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000000000000000000000000000000000000..addffaebac8ae17a393d1cc7c9f6440d6d40a066 GIT binary patch literal 19163 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/classloaderscopes.bin b/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/classloaderscopes.bin new file mode 100644 index 0000000000000000000000000000000000000000..ae526374476d570d1e06193c15e90523024da1a5 GIT binary patch literal 2284 zcmcJQUx*b|9LMi*EyS=EqCXD>`%q}m%sF%B%$YM=gsdTv34#$sOLG4F&N}zby|c}k zT~va?2O;c_54|K&57lO|1X_sFLl43lqK43)t#r44WE7E+y-79RUERB@U0tJlxeRxh z-|zSRea?4&KU6~qEkQjs^b5 zm*CBL6L2HV8WQ_Mg)|vpE%jz_xS5-g44g-?P1{#Lz+1L%^XtRVO0!JjVx;Aj(lv1C z6Q5#b;}8Vb%y4UYWOQf~p~A$re=N}u(l7>dG0tnp`E^2P8au$)?EjR<+51c#VJ3D*!AWvrZgwkn^tTv?1Xp;a#U z<6UT|L)fAHXVB7}0|#$xKK0nx)VoK}xo*NPhb%9K{5q7XkX2#7k(XK8+Ja}Vo`WKl zS-MS@Y2Na5UVv90ZQ{U>{SXJ1QXUJU1dFUqDB&z-nnXdAP!<`%gDB#ZC0EGiwX?N3 zUk`ilJvRBus}CPZZh3I+?cbu4-P*Z?voKs4N-MTh35b(0B(b47iW6IX4ZBLt-J9=_ z`_1F0z8H9I`{1&d)@+*o^Yq#Omww$5@ zuqaS54V6?>ve1T11Tvl1W4R-2YC)Tl?9LlQnd-o7zjPZ3UB1q10L$ z5ilDOoybUdpJI3}L`tA*M{KL0;2fNF=B1|k>t-Nec4Tpnj zkm4jrEHSon1+|I+;UUCER^0%^Rw$LoYL-x$bVhpTBirb@j zp^q0u&*yqL~5W8JG2UF0c(V`_19?xq+e$XHDL0%9e4sy%J|PoZl#2|Lnu~(R}z3 z7=;YGQVsz{=o&NrfhK15Zr}NJ*|+i<)3}xMvMiMScCEGq{X9?Og0(&4>^VZ%=^`C2 zE0<^pm<~c2hRj;1JRvJXR0~sA14Zd%-cewkN$0@zu0A@nZp{w|x9{G#de!k?4~(Pf zMHQD?gL8S|FwjH*iAktLNSKHsDIwN^o!`~mMCM|}Gaszl_1Dtn5B&BCn_M@!zv{U5 E4+(T5B>(^b literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/entry.bin b/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/entry.bin new file mode 100644 index 0000000000000000000000000000000000000000..2bb7b3d457518917fa4225d6023377f8b2473d9e GIT binary patch literal 71 zcmZRqN=_^`$uCOF&P&d$$V@e=s4PvZFfS}Be96eDpOK%Ns-K;ilbxs^P?VpQnp{$> a@0*{JT9jClnV;vJpPQSQm-3l`fdK%;3L1m} literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/projectfingerprint.bin b/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/projectfingerprint.bin new file mode 100644 index 0000000..86c0ec3 --- /dev/null +++ b/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/projectfingerprint.bin @@ -0,0 +1,3 @@ +Bt 8[DQm +?&c$6)>' i]s43kBJLmOgiCLs-]vl Snڕ'uLgƁ%Е Ul$&OCyVg5 W2#r +CX Zċ"J@d_yq;f\wtr@!+_.NmK\B˹S W_fxyر KNjx5?Ik ŴJ3}ro׮R`L~ D*IOUY@27)oZO}AwޛVNOh+?NV:vn*' xbDS9#Xga&d)D ]ΜŻ7+Sry#n>8_*ik?@2P+׮(AGv +KPu[]OG\*gtVO%FG;|5gM7@K{{5zj{h"FKN+~ \ No newline at end of file diff --git a/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/work.bin b/.gradle/configuration-cache/089471ba-5ea8-4b4c-a4b1-d3192eb2329e/work.bin new file mode 100644 index 0000000000000000000000000000000000000000..e57b73c2b2ce69555b5ae5a47d3efff35a60ab76 GIT binary patch literal 600 zcmV-e0;m0?3~QrRO{Y8IMUBpH!RA&&$Q!R@mom(#GBAxQ(o_LVaoNg2*2m@51~VAZ z%anB(s@QB~9qj0LcW4#!6_~M9VaIh~TWRR;_p+_uA$Y=QRFv$?cw@<}7WuwQ^3In* z%oeOkIi!#5o9DLLX5mOVBjca#s>IkVTxtm-_iXQY9Mj)76~QmTwX`i99IO=1?s|sDy!JjJYpW{n#1x^*tK#V1 zd=CdAYVL~lPC@Noqyjpd(c5{8sOWPRb$xKKVGN|tyj%o|b@ER8xsSi310Pu`3Yeu` zBJqxYg}>Y*Y82xTG%^H?Wo2lu=z1{1+bw$c)O&R3@GWp=zlsA*E9uVCnaM<9SKasPdf&nr@s}rbnL|8(<$$|sE)g`+Ir2EU&;vzY z!5@$IUjy)qpDozryGIQ;GWC?_<2yG5>;&imGe!saqlK_k5iO#mCvuz(pW%Yui&lpqPz7$3y7`5#OMEMs&)`4 zDgk677DC=c9@{`~NSoGaDT4E{P?BcLWLJ-yrMUT-W6wZX%(!3Jt7_w{ZSv~l1bbx!<=}6a^?5c4w*hsA@5U7fI@ggt?tUO mp88JN@7o_=wg7||ei@WRSkLNI4yZQ0FitmBJx9N>3R7cRo-IiL literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.globals.work.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.globals.work.bin new file mode 100644 index 0000000..8146df2 --- /dev/null +++ b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.globals.work.bin @@ -0,0 +1 @@ + )rޠq²T \ No newline at end of file diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.strings.work.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/.strings.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..5a4446b2143740cbef17e20babe5934ddb5cbcda GIT binary patch literal 12716 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/_.work.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/_.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..54aa13f70886ba66d4806abd5b7aecb940b6242a GIT binary patch literal 903 zcmV;219xZzw{7S6`*tGW+FZE<8UcV-*Ow8xM|u!TQYYNeXQ7GJf0j zQ?iOVA_v6a4~d$*P{jKDNqhK$`HvuQu`jX2c`wdDTeu9e8ZIa?JJ;_Q4`e0$+%(lt9U=)Ae6D*`n1r_6}IkK=O&ps7`B#bX{cn?PIaPrf+eq)>k#T*Zohd{?;7 z+s8I_Cfn*@aSBuDzKHO9dR&hwhGn=?@O0-_DTFVm3fZy-&oznyaCDedU=v=^TFJ7h z6iCJoG|c29V5bFGBDlB_|0$ChR0%ESuVs=`?)U0HWRmrCB|5#9f991wIz$k29f)iM z%V>Re70IDO$$fiaX`6$!r7z=D8^mU{R?}?o7zoVl#i}$HdzRu+cQm2ennNwr+a$hk zx+cM?3m%tuL_1?vYcLklP}FT{X3gx@^Ks)_Z%X};6ESkB#oa@(l${uPI+emHxAqmJ z*CkxP58|m!T|+m9g)`pEsf_y3L|BV25^=$v5ioaO&LQ%J7_xh2FL|O*pB8)*0Mvp2 zl@*VLxh)b&i9{)%xAG-58-MU|!vS8r&GoG|-&3pN&C8WRrWz?B2bv@HCxwLp{Cy@S zv??6j*=k?vu1X{Yr@s;0o9Kj_Z~LxGU$p8!dXw_eEX_1qbadV~E5HlpxnPC)Qb!r3 zlOh+&k>xzWv@CtkDvK|TuD5G+TzR{#lT92oye&$&_Fi+husr20Qrr&PYfWiYLZ2#K zjGshk4IS0;h_=OgxBBc|8!(P|8#AW5?HitvO{Z7T_7vw6)6%S7176#4q8~AVJeg5* zUzaHWSxVf0Q6hAF5BC$O*)TO%+1LkJ^$TE74ac(IkyP0m@l56tqq^9aS=)p4ltDEO!~s1V?Lz>XQarw8Y7IEi60-lKcXm1mYC=ehofEh)rK%(E9Xd-Ale9bFuTB zaXZpu8(sy5B~Coji4i0g;ozBBw{fhr4;Bi=4A@R1^Zv{r<0NNw+Ra&ba+=;Rvm4rF dTN=SA)RVn|RSrbmltDP75N$y2wac%Ya6D!awd()? literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/buildfingerprint.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/buildfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..f0bf5753498698b3eb1fe3887eab02d9c8e33ceb GIT binary patch literal 2685 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/classloaderscopes.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/classloaderscopes.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/entry.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/entry.bin new file mode 100644 index 0000000000000000000000000000000000000000..3cf45cf45c59cae2b0c9da94ec81172912cf3f51 GIT binary patch literal 71 zcmZRq%rr?gDm5-NPD(B-NiH_ZtEf!L%r-U4ddkSCpOK%Ns-K;ilbxs^P?VpQnp{$> a@0*{JT9jClnV;vJpPQSQm-3l`fdK%E1sQ|@ literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/projectfingerprint.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/projectfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..1b8d38fe2c8f34f7ebfe0cbe5c139d18dea680d2 GIT binary patch literal 517 zcmV+g0{Z=HIjH%)dJcqgn(`#}NiM4R4>#)6(lC)UdH`DcwLm$lI$exH54xvg$yhrT z?WE#tttdbtEbkf)SeKl*v-0AS79*U1^~ACP5%j}@V-I8NL@GL?%ibOw?-f z7&s!K`N3`THrxr3&+ZoGzg?b6Fr6*dquUVtvJI<GsByp|Yij*;UG;K1R-w z7W9yOjVvu^ z6kap#XjgVWK)rrK# HuM-h=M|$_r literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/work.bin b/.gradle/configuration-cache/11f7cf1b-c522-4c0a-8d25-1983b5a7fa23/work.bin new file mode 100644 index 0000000000000000000000000000000000000000..a4bbf26aaadd016a3ad6bcbd6aa4d4ec1141fef4 GIT binary patch literal 424 zcmV;Z0ayOqAP7lPqlyuFxvV$W#|9qT)f93jMPZ49-dHD+@-0*g5Jm;UCD?fGEr06L zj;!%uS+GRZ4>>h{x>UtM>LJ@P>-(U+mHiBx`AgtCPWdaUJY|9pW^b_{Jv(RjT@`N(NnJ+1RL@{ogP2p5ddeUXLk?+0e(|NP%|q_=Avw zku`N)!xeXQCn9(%lYh{NMmL*axtyRnM)~YGx1NvZBULvtRPwM=un-=`6um-9M5!3D zs;9!?^{r^l{#QmX;m34rfekV3K8TQwRPcV-Vd8!@sOOz@lj~c$?@Mx2+Rg>jRjJG* zF5;-~ws SVkXh)fK+R+VT0i_jeh*hUflBl literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/27n1092mio4qe3wkv681h5the/candidates.bin b/.gradle/configuration-cache/27n1092mio4qe3wkv681h5the/candidates.bin new file mode 100644 index 0000000..bd5b0f3 --- /dev/null +++ b/.gradle/configuration-cache/27n1092mio4qe3wkv681h5the/candidates.bin @@ -0,0 +1 @@ +089471ba-5ea8-4b4c-a4b1-d3192eb2329 \ No newline at end of file diff --git a/.gradle/configuration-cache/2qdf9wskj5iqajk2xjkqyg0pn/candidates.bin b/.gradle/configuration-cache/2qdf9wskj5iqajk2xjkqyg0pn/candidates.bin new file mode 100644 index 0000000..ce0a17f --- /dev/null +++ b/.gradle/configuration-cache/2qdf9wskj5iqajk2xjkqyg0pn/candidates.bin @@ -0,0 +1 @@ +11f7cf1b-c522-4c0a-8d25-1983b5a7fa2 \ No newline at end of file diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.globals.work.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.globals.work.bin new file mode 100644 index 0000000..27d7f3e --- /dev/null +++ b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.globals.work.bin @@ -0,0 +1 @@ +>*m QA7>~ \ No newline at end of file diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.strings.work.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/.strings.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..384a4be6b3f6f0226ed9c270866199d6ed2532e1 GIT binary patch literal 22577 zcmV(pK=8k~Zi*r^1k};!=mUw#(`Gn)T-bJW_Yl{YUD(S%oO?Y>M{aD6iPOKhjEKT} zj)2aWPnvqm@xj}Z%&eM5XU6QlMP}}MZb%pvYGE!C%O*mn!f5*;Yc6ikmp5HFCD{eY zGlE<^nJ9j|guRo~ZE}n3`j%|!?4QSXFaegL#Yys^0{3jX%yLNS1Hy>kc=6*9r9D?Mm$MAG)rez^vpwz1Ev(^Oh zbbWA|+vrqfFq5pkPr04vbo@odOXwSU`Ug07)^dZ}?wS0-n0*QSGoQVL<4z+X%+-So zwn-3GEU!lWU1>G|n@{+!<3C;@&O)e;>%tX~h0$4`tRd?aybYsH;W~-SB-~?&4bZD7 zA+`GP*}RJrd;cW`xTu$C`yMTwtir`B6{~D z_nW%73hG9QzaS@>Wk^=MeI4E2Uz_GCLhyo}RPohS+(dFWTV|UVudQfDiA(}^r2u^) z6*g*xuSA@5K66kxBFnw?7IQJ z_QpnU4as1d-y_ukvG>FyPLZk*AwstUGg$kL7WAwdge?8@H!6mbe=zKJ?z8euEHdIh#-+q7uqdJe@4?~%ti~qY%sA~xB>Gf1l4ng0~Pna(T z$u;9pZx<~eF5vh*5@{$-lEJA&U|XEf@4nbl~0y3?G_C1!@}4v z!_s%MW;}0z;y}9F4lnh1YZ3viaPA~g^>OMT0xpsVt-tzEsR@Gk%E`o3X_OLI28TNa zWDo0(oRyKxtjV69j}?yGxDqR!%a+&@WEgaaj8(WwbMdy~!K5TjZZ@5aKl+^bB4meG zX;J(3G59&0v3bUD3odNUIm4VC#*-A8VROFyYk$Nsf+IMu!-R@fa@=G*tOF(b+AOI* zmmM*+;!NN{1_6anmM#D|o2t3%OBzTFV35j$bg$r7uZRI(6E`z9WtT4ZdDsx~`-~PC z#k%8XL_Vs!Kx}FtOGw&)Sh^Z&B+C9FM41KE2EG;_S&-g-*lvs1NoVSmwz*BQgjN2k z#LD*?z!5@uE*`LS^QgLvj|(`X4yv$6UXOU%dfIsFdSufxou3qcE9=;qhQoLSrK9rh zy{%IiUDZy;mG59o4Q%9F=me1R+3Ey}+a0^HF{8{sp(~jmKXvXAReffk0%B}>+#_4A z+dkz^2S6BdFsFOp(pX+Nv`JGZ5r1Uzel2ZF1NC(!l&8oxyH_-EsHuvLrpmFcFHSS& zQiu2H-xJfT8k+U|9?Xn)56jh=hM}C02=95JM0^TZJiS`_MLCU@H%{ra*CzQkgXGQS z(hK_7U^LiyOON4D1|JOO$v{StZPc^)bc*}^-TMl}mwkZc25v1$X(t{~FEE(1O9MV> z6N}F-fdnIZe#R8d^?<_c`0JJwO~5x<{X^F`sk-C4+&}ECdpDVx^P5$AtBWa@2=UPI zR1k8rwAJ{J5oSR8x~>SO&+rcHWqe1bF!`*vQ9 zVHIoZo`|nT;AiaJlB$&(zqnqqlThl4uQ9b31_lFLXm<3B5gAEFiG*~q?mUUK1*~&y zlTHK1^A_{Lo<9Z3x`SNuRbXiy0CfR$(`1*o_Wia`3-D_^0YtN;87m1 zP5W#!)KeQBsi?K@rT<#KaTy`^lltCXv?PbfUeyq&<-=S6bwr;4MwNw8i}fo{$g(e5 z>;Ul|QOweO0%ZQhZ(d_z>VKoyAGBDed?g2(L8WSd7Z?Vlh7Jvu6#S8(7sp`KD~r^Rn{2u`u=NVj9;frezQ~CBV9ol@1M#$RE6f? z%%{-U{a^xKL3C*h4j9AgR8IQ0-G+{0@A=oF^9FK5o-dk3Q|A%K7rD4op#sadSgtfv z)v#Mnh}s!TbM)hhHs*dVn&oKYCuj0lQkd7)<-OcCA)61PsT6(5NgJ+4U7yy!7a=?E z))n|w*csasTTVB(NOD_Rt07rI3MW~O-w1UO^|j`|qruk!*c){UBRi*Ca7$jQ+LMM% zmlGrTkq|yA*ftov6k3uXgKK7v!}=FNgg$`QFij9P?)zt}WDs(KAN01WQ&h5ypa!2E z1&ZukuYZP4g{WDah@w71jAx3K`d|t(_TvG4yx_OJu|;==dxlppBGxTT*~QGp5>F`% zKgimXXP8h6++&X+{6YfuDr?lGAy!|aq3#e$@@)krR;h*u0(|DYfSb=}@xMx{A00b( zAl9)E)Dwc0a{moIJ^P9(sP!A8?;9K~x7=|*GLs&G(p*yJjv5dr3Aabo-D^SewA&rI z?Y%?2HXo@ZUp#2Wowm~!<7djN9Eef?10+ynJi6unyyJnjadH58kmxf9Jtw;G zN@Qlq9%PtQCXKFd!1e7^Z?)7jy}1=A(*wu45uUk5j(6=$N7Cy8fllT#5s?z1PuW%j zdurr^pwB_*y~w2*u_1JD5Il!VQr={{hcHu zJbpENxE_Fr^D6b%Q0lVEn6z3cK;Lt*1!;c3|cxb_7-D=>6n|aAFRSdiNH|f6jzTw?`bU9bC9)ioD zVau6!Y|rK5U3U_Fa-@EWv(MKjTN?7hJu9%$FOi5zomhwV7-K51+rFTeK$L*Xb;6~a z2HMuK?~&vR-?U1O)_K_vs#FD*@5PS;<)h1MRjf6Ow0useIrSG2aFf)sw za@q}cVw^lEyOCP!Gv44jb~T5cO$J+>9&%cNCC99;*G2? zDELJh>5l0~A4=QQcs5ysk-*&7m@-OIAV(UceqCwmJ@ppcT5q%;5^J}lHIIH~4j8`g zO9)D9+D_6?9F3U#N~cml8kivCc17yI_}(fay5U?~TogSBCcd=F?2}(ORV=E`Q7TkD zu(xK+8v@$A?p=<8t1^za3(d?Zjg5=l7(@PE?*zSmJ1NlJEtu0t0 z{sK*Z4ct!~f)E9+*5J&|q09}d7GoTRt*?9mH))i4pO8o*3U*bh>YJ>qIde@~Jgynv zxIPfK3qwyijO=uEjh(i*znVASojVFJfEI-1W5TKMPqyJ_KML+ZrzEdXsvwLsXBZ95 zw?2K32p_6-gOuf7Hc$2Ae7bpI9y|lE_Y#?;-4M{xF+uc``@^WJYxlcnO-h<0MqjBA?Kp7W@~G_+^e+ zyc*bvlX+lyh^pTHtO>yu58Jmo_I12k{}P^b^~6U0%oWm!g+5dAzx@ru4@QbLM#{Z= z0~kW50PSBjKA7hHWLs&ShgjeR(0{yTBwvX3rT9`@z#$F&`RrMYC0cLf!+hc4?=v)w zZ>n1AxHSe%;lCfr%I+tWUTaL%gV~-Wjb=zFcXGh%q2)Sq32RtcuqW0o@t9pl@sarJ ztuqNN3u-s;R>`i*dxOz{)jiPbjroyt7g9Ksi0F;v$6gKa)go!u8_M+&Gb z-KA~(ZkrsvW}XpCI0t&HC ztAq5;24d1KQn=w-aL`PPd|VFRG&Ay36`8Fkh+ZM|oLuC2M2(ASL@`&IA<3Pmswy_J z6BpP)J$Q%PS0mo~XtI~?+)l0II?N0qb6oql8s>tjr7fa5W6VLq)Dt7YH_dVSdp(T+ zr64xS#p0fOUU=m$Y~n~+6sAtCIf1Vd(bZhf5=()`TQSg#_C|{{y?AGndqlY%^u(DB z`E`2g5?GoW@Z>76HLjZnP*Mc|z+5?VN$7a(nP9{c+ z&ad8vE-#ujnob$lk0e0=1**$!NLtxjzjSyX-$jTIYX})OUCXSZ0enYpO)L0 z!}{YL`E=As`2a6Ol_W$Kt;%Pm>dJ})*_VJ`q^2)R) zbNi99FpH(t?cXxPkrkoik(zn1vdM}`Kbbfa%rX%c)xW3{NN8fsSbmI7c1v1C#1sxG z##GkbyNge@#db49rJ>15>+`!VC9R@Gi+}cnxksW)2#N*}(7jitZm|1yrqWj7hJV)PhAMOt^g+r#us5i!T;t01ZAd+p#ye8F z^5$@fFXUnrP6)p>Fc}OG0UV8taQ5Q{H-%WsE_NXTvhINqv1d>ghJsqATb{3pDGO7k zF6nZDL)hLv1?jQwdOwu+LK69mB_{b>G-p;6{0I7_<6Z$!B7zUU>_1B>jV(`K8kmM4 zi|tY02AeUs2WNExNeM^WFL{G(Vl`0i)R`uyZ4NC~i;PYa!~;Ise8KM4+)?iMaPD7$ z`irT$Uv)8DiHWo7%?Jtg%9F0^%+xU3D~LM`R~Fw{0k8%l)bYZ>N$n~H-8pznJGG=S z5&;;p#FiWcmd|O`d~Kg8PbVlYnp!}r3Bn~`7z#HtB~px@_bl5_AZe41xiR_xR6T1P zoZq}Q_K)DMoe*{iri_I{f81f(BUhC+i`+0#@*zNgHDC?tG65B(R8WAiDkKof+=&1s zNto&iP{?Z~w!fgkmM!mAq+Uyq+4d_AA){Yu86>I{)VEr$ZN|H^8WB?c}+eZkhqe(e-uau_uB{SYES0(Yt|?pFf~nx(pXXDhh_=}l>ABU40oDX2F;&kXh`@=W|?UP5WuA)hB5_E^%aKnkHd;ed0mUE0*%l;VO?lm- zOF>yo=CmfSUXHS=+6utqgq!{KEk}}Y&!JUvMGe!m>T!EbL8?+HO$6)q7e`VUi==n7}t> z3dWrh|0~jWkj$)Z7V!2{{V&7=CSZXnmc^sSQh7SCBv6}>XWvq}4Yw zC&5(u7Mnv$B2P7u8G%|~${rAVJ%F$nGduQ!hf&z5yrjt=LwfsF&+bn zrEfH*hX&O|<8Oq82C;EeROgbm&K%|>^fEs*?zU=1D1Ryay!)dYsDG|Jc`f0#)Zl`8 zsL5yh7lfv>Z+!gv$%!B-WV9G(A%()@Ty%&tdpj;^!z(f;W}#yhMH^zJBKrif6vk-@ zam|hA`)7X@R}jHUuQ-*BGmRiaPO_}rIYYob2G?!QzI8QMg;-yfQT`@WVC2%#$r6(ypgsBaUdqiD5jg;K4>iv2jjF5*y0?P6*>L!Z?Zy<5 z^Zw@2ZdGSBUOfOFqZAr>lTTt}_D6tH`VbK<+AVIN=H#W=h3om@Lv6VTR5Ix#Pv|}p zkIjDZpgZSl<@fz_As34dOP@7OyxQ~x;H}KQek{NcUdKLw{5+ZKcQhH@p zUrrSzMztS)btX@=m{<$nxiC!6veIH80L@^YoKBB7`CU`bUwq@ z5v=DahuMF-xBW5K%hfYi;S^ju07$7_?@nE9cIW-cfKDaV3hL7YE;NX8jUIV=y4N#Z zP{^k3|5*!1kp)jmtrkVphqD_d{G)kwcTrTz8OTl1NO|6YH#LB3LooYVwJ(MVzy}?m zF-5lr^Z2CRUo6aslc^; zloFoIA3Bu0a&=5H+Mv~%_$qrt=mc(MG0;g(%E%RF=O3RMcIO?IgL?|@@0h?^EQDub z2alg~lArib3fe?CH1kO7OOXfQyNQMs;X2heC?23hGe0A)0Nqt})EKHzFf?s~%GlL~ zzFh4(x4g+_@QFikk6pA8mTcZoy0(z7!ZX9&k)tc5rH$MNZ0MUI>aSpcM-Pt8V`W%q zMU{me`G9kx}jX3tTQcwRv`sQFZm3wqKyj0_n%gMRuk6jVa%8atE58@fqkwE zUE%2T9uaoM7BkM7+IO_f`6J?7{OdD2sC1jW=VNvk1%PoLkP6@U97OL>I+OR_xrsbcP+wu!X!3ytI zQ1P`JvK#$6z|A)8{XSIjx=pnIuWGs>&FkP}$SgZbB*n96rE^<=`f<<)s;j&3@1Grs zsr{_%==%Ecu$yxySt9UJHjOHDh%w3O+^KbGLAqNl*1^tTMRFD*!?cW8D>HSJn{QZl z_a?8M6uT)5FJtYLZ%-55VJa7CG^MP;-E8eXC;r^ zNWWy~iB}27%>)cgcl$`PoAJKzBY+!c-V%{H@3ggz^Z`#jdO(1SAk200{rVK=;p_IP zRta~)@gAziez8Y^$j8wsDy1kKzyF!9u0`5HMXWL#tmxpl zGp1)J-wP!r^7j})=MggHC(eV=#1^t}5No}(DWt-oVryvjBi>pzRV`ljo`3ET)YrN6 zug4v}?Hld87w#=ge_A0=QP2HU2WwO0W@gEnr8rvF{c-ityM*Z%gF(kW5WonZZ_J4Z z`^OVO-#W2M35tkEk6@YlR)OOLeVlX5fO`yHtm9oNhrYJna{ZGc!{b^QMj7mK>_92= z2LEk-K@VCN+0iDeCU=wK(nxb?W5^3qmcuF5-uxD`5p1ZkNNl}`8@>|YAnGm@`+)m< zl;E>qw{Z#CcO6v+pSvWFhZi>mXjd+39UA3EB-kkxm$t;UYI!A7B_^X1tEACd?usCE znv5i|fZbMn#STJ?h6(m;gDtHLoE6S=A5IzaGh{rs*so~#PT}LfH7Z^~^T@2cTCpeq z0iq~yngp`XLnO^8=SeOx*voy0KF@b@AZx+BBTXtKlNW-YOcZH#fv3YA;hJTeF%--X zyC3TzDTP|jHw^h#g*=d!H}O#E!_%+RoXfA6k`_OB;!#%hNqA3#UWs+@*Ew`jS;YIj zl=KD2`>3vzLnH@W=q}9+EC{AwG3MzQDrnD{+Y#eJ7|!P1l3uxgO_b1hZIMB`IoYR>_DL5ou z?;uo}UeO3Juu{2bug6h4=Knm&#Jk};=KjLEt!{p*@9-o3Mo;DT2cHhQdOgmTJ3RS7 ztI2WU7%f{2;u3yhuLAIgk#U4AfhW8|OFse#+NmH4aXUdz$nl*-nGi&HoJO ziAY;OaF*@d0D0pS|JDQJI~SUO4Sc)G*6HY87;f%H_qfaB3DSgtJo3?R7@j};+Rz|g zKal_g54ONaz}1*%Hj@3Xn-iZEg$T^Mw$mw+eThQ2c4bmWvUmzKi_;3|>z2#Dayf2j z;3Z6fuFjo0UJbj%LXmQ;C~Y;7~^B+X#fM|P8}Y`G`%0>*TZ4sbJg=ti~3AQKg3D(16*Za*!w z^;rdBteQm`LzAzyuiGK369iBfmDQ%EL)1k&;EymquXX#r5C{Mq?@n(d0w{tOH6v}Y z{9R9U?wmFrVv!4p7sRMS`0M1Z4kf#YRQv>O9d+Q?`LkZ9Xb$Oa<}mH9?e}S7Ef}gq zC?ZtBnCg7fnTbX27yliMjRQ2|poL(Bh;6uL@pJ=fF&UkV|3KaX(DM3)_IhJ2Q&JGk zs&;VO_USc}U-sF6)!FbrZB2iiPFt$tV?CNO2f1hpvl!!8R zQ}}6Sg%WOj@=2%1+pWxbK+Ct&ZeUX?t8|E4`24p&ISE&u}MtW#e8~yS_t*BHX z`_~J*nQHor>OZk*M3eBpu!C|U5lp{sG{wm{6yL_|Gi9L4x)e|PI+tBC3t6wxB*^IY ze-DJ(7CHlY#2t`@)DBi7l7$3BRu7J;Pu9LR4SEU<;hj*GC_k?vTC5{kcEmsxSU`Zp zRg8N_9dCghPuk$WttLwh=D4E|vYn2nt;n}@E!5}$q`BREf}zTrzC2jBZZrv;lZ5VQS%O}EGb)lhd(|;f z{ly)(r30aE8^+^;TwkU<{>Xq)92?rBxQ`v|CRE}BM13VwnBMEs!=2_I^yvw?R23sd zjSHa2=Kx`G)31r4YpU!5BWv(Bbssgm1G|UlhCk(^;|nET;Yeh)e^Z|~{(QSf0FlwwM?I~rM+-Zj*(Dv!G)=?U`l7xe6N||ln#7K{?uuuKqDNEt*Lv; zTIkt@i3!K4QBKg@8>zpO8N^1nFE(!4!^SrjT?Xfo;|kjkWMeAn=+N>%AAhu)Ub68h zCzF~ZzkGB2>Ew7RZ>C*{%5M=bj#ARQmYXMGu4Dh}8qYHas(-NqkRrvy3^UT*cB|L` z%62o?H}~rsnlD?y!QEh~ygZ2Bu~Pr)G&N6K;s|K=T}$!upQE=LWi6m8Dn6%ZV6{@T zz)Yvv-%)kb@E##tL^OB?i#5XcPJ0QZKH>UE?~`L7PK<<%H}=6^ixg|)L@^qo<4(^j z9QAUkL=F(84^osm23%Oq`D~#e>U0M^zou4G!ga{U3fX@jjxSrW}@ng)f0G(Z12n-4@Dsd{2xmf_TY60Q^vu+QyHD z0aLavz8B{)j0Z}cNZD)3nUZGO8o?8mIc}mB^Fiw0mjJJpQac*x_C|42b{N(CcU@MW z)G_FLus8e+`E3KME=Cmkk5DJW!`w1c@SVk)E5au?2315b>>+~gXzbsaP5KWIgaBEk9O%O+G7b?~hbn_8ofW;+S5#A0pxd8%~ zH2Nv+&!aDmd$z$|9dHYe{uqdqF9Y9PuE-BIRm1Q^Y{a(`F5EjQ9Ge7g4d=(AB7=w- z>sk>NllY#2R{mGD*|@I=l0RYXK#S)+vC%e!wE{1i@n}wMSeYf~1AJNUW4(_PwD_-S*0AdN z!(1WcfXjw5F|Qat#KmKaLKUL90|_8*m37EZV@cNE!g7vKOXFEJ$j-Q7HyhpE7LN&a z!;UVZe^0Rl(4XT9?#rW9_Co>`nsmLE1hLjqv1~Jd@o~1F1ehU@{rG29WLd*c0{DCQ zRl7MIegKvOx0J*qYHu>)cjLd%ONfhz`Q20|x$$RoB{b+cbFOU6<`sI%EmhQ!%U;CH zyN|D}8q7&n@v6s07YFq22JygckK`x22Ow;RFUwFdIjCNaX*0#AQl1oJA&*)1XDK~IEYiSDWr6-RNuqIifwBa za%+g5(GGL~z(>4EMhRT0>DFAyyI``*;|_i*NkFr%yX6w;(y*^3{HY$Wi2J#0b);`z zA%dFyg%)vZoYC`owW5x6Lt`4GZq&A~pxx4IBu;nhAu%dNh!IYHJ5xp`_8};KdBqE1 z!##G4jg(HQN`tYd;(xJY5BSmXjX;Hg*FU|)!H5j&l5jyjl{~)r)w_AfO^oPD1bfO( z3*x6CJZ0$nvJYEL;f|FoR@`C7`B;bLnO>SmEM`LwxgUT%jULm2ntuXRJPn~|qac)$ z88J^*oSg^u6@nDbt|!NYOQ=|5#`x8OBgN(d9JGJCs4fzf`r7w8&h2zLo&gJRKnf)- zsuDEV34kwgjn0F^AoXK~p;2;x*UBtIG+0~=)mr$StpvlmJ>a9s+M|QAZ5d#?ZOF&Y z)s^6rV~B+d8?}ux&u+5Lce$dxME$E6bN4`uD==wZKUU1t=%35-p7~Xvic}Pl*~S1zJcBhj>yu6gpo^KJtVItbxI`8@c7k?>$Ab3$!8(q zyBUhz`TsMvRfJd(DsV7HyhFhk>&a(K2C`hxC9Mb8z2Sts8|)PXa@`MXYg8u3lFo@I zPD_@tlFJ(U>ta$RQ)W}lMRiM#LJj1@U{60A$RjNM%i!?rD``sRtLm8&6AqWjU zf*<%g+n7BtYB(`Z*{e$%bEO9}8l=lJ&P@2ggB4=P$!9HqudTU;noS&#pV8O{LzjrR z>skTV;suO(Tf3ZDl6&C3#9<%ECdUZ$m3pB=X>{ccqR&S5^zWbDS7iYUGDKgeC8VLl zm{glpJ2fI&EoJND2D)NMAZe|bI2-wF*Y`zmFbhPN*0s>|fSN+ZI2rYSz*Cr~YqQaf zwu-gMe}q%|o}0Wsk8GqK23yG1H%sl$#N*4Xmb7opecq`v0FY+sU2KMRjfwEE9{nZ0 z+h~x@;CN>{Tz|uX7txdha1c)OSpgO)7;2skFKf1kLjFgeIi|wyQY>!90i{w#Z^Ob$ zPv`hKLPv3u`+{Q1*A}5nb9`|X>MKfqL$aB(+!r!ZO}sh6AD!u8>zYFaPc@=3=})y{ zIQ4Np{ckZWj;rOxb)<`+iHf%EZY!_5`@9*P4tuR{`I12W@oKTg3;mcAY1S*ESl0rK zHwIh`dmJ}hPF`vm5s6g`V1H8fm+ZKi;twoo@q(z$Fn0=y5j^u0`?Rk6VhGfk%ndvp zq3@#Jl(;^OhMDg}y?*|eyEmMn=Y87CE3%c7>0q`Ib*i4ma`zJ6W-9T=FS=BNR2UK7veXhNL!Tl57pFf(@<8Nw_fR{7hRYR~%DfIoWRtQdIH#(KFSTM9e!j52ewh+mJ>cW9+>5o zm=BCD3ml({7|RjnOX%k2jrsr%F?~=JQTMgt0*1JwaO3$O#!qqlVjH~4Qm#^ekoEaV zAV=sM=TK~gY5}ix1}rMP6+9ulj6J%bBp0wSd1QQzAn%WUQJ>GZzBia%EZ(nG#_RcE z-C&rL{w)Qg^?PT~p*6NdUP{r8Jcilx4nrl*I3mvyJn^!M&Rb+Jf#*eglQpXKxXgWS zVcd%Zv|M?kSDxv?n4@qJO`}XYOzDt#v3PBFc0Gk4;HMaell}0Is$6Q zfNY|4@QRpkT7=Bo_}xS{9>@NK*K zyC+EICM@zMYV+cBkQH~5QJfK1%F0wKO}%lFWP&!?9gQFmjAt}z&m{4k_ za|r;4P)yfo=hb0p?MLG{Dd4$1F$qZyIbcHO4=c)<0Y=E>Yr#d_HnS0(A}PPbnKBk> zcM77Zis7z~_M`~L)v>eV<~>C6xp-DGtPdoCT#aaSjw#4H$K{TuG+|jP@V2EEby9=G zI_3b)knf7&rw@=L8CxU8F7JE8PvJ*jkDOD@UGP!MTBqx$wp#?PsC#L}a*LmyTJAQN zNrfAyj>oWEol|2{>cW6{+%&umEJR)-ioAd1k-JmAM8yYMp;ZT0-)&_RZ{RquM;#+XtpXgh+N_~-ph~3vr-3SV25d1-$h(A)p6t2xCX<0 zMJpf8Sb`o&z`pxyW_%S2a9?7l(+D7D-@RhIk1kOE4V{-*gQ}j>dzIpxne#=!2zkj@sqW7XJEyMXu6`hHU8HVrWq5%ecBje3l zPdKtj$@Ee$xuDaK=Xv5~JdbJH>09V}HG5diP~A_S0S~ zc%m4kJV|K7Dlf_x&%DBGAq_DF2ugKGj&c?++l+&ql^=%|V^aJ<;?)&x6S_!HiPO`N zg;Azb`Q%*)R55UY&X`d`U;x%^S(1{8fNGqp`qI_MR0xsmN@M>&aZ626fJ7hdhcvVq z#kn%2ID}3!ou#`SUbIszQhg_n7q90Dwz80oak{Pk6WD$Ze!Y^_#BFYz1JJdgBcwS> zRW+FuQT8uk-)POMN;yPvQA7Z5rhJ}<=50!6A9p^LrV%SaN0g-Y{AZYMN1k&s*Pg;T zJ0by@t!%Rg>jn@rD8?ezART1`f>g{BxX)o_*J%8;d5O#}S9SkzM{`It3R8=v$P?OPl%;l5E>qybSmJ)J0n}@)J05%sEvc8=z zsbBm{wO=N;E8d5in7il5dDr3A=!M@0KqR9kTrm0ajl8S+bClIUSyx>m~z%#_x^a1AE9{|Y&Cj7&0>_$T|)W-i;d!RP^Sc^C_r+TGIL zgHbqR)J$J2iM6gWKG(%QAgu&j0C1DswPAUEr(f!3{~QmO7=++S0}4(+EG{;m>aI_z-*?*WzkOsZc=x2di}Pf#`0|K4ehwU7y%jjQej;z*Jw*(f za_tTFS~8bz6n^YDGyr4m)bUu3)du{eRHB;eD;RgCC=XIKcjSlnS{Rt)G!#ZtHCeFz zI>&FQeQVMk#`26>h=AcOw7QeO{Ijt~4KwIH8waZgZwiIJ15mA19e2Z*@^zKII~miR zN7sUbe)wp|Wbwp>*zvio@eI)uI4=68O?r}W9B_LbOV(3MJNfwQ4i1mtuUWQ;tocML zI3-(3F~*ai{wYQ7aR)NbPfJ6P4wljEQ9m_470Yht?p4ALv7SJ~mzT<3MC%{URW)55 z7pQ20v=eq!0P1V1AIsD8aO~bs>gW;z2Zo9jiz2~tIBGD9X2Q#63 zwZAqaUaS$Z9d20Izj=wjl<-~Y4Bl59-Fj{6k1#;}qPQC;zmS_*&vtfuErKsBX{`Pl zv8N~&ymtE@A+@anZDDS0Q|Fc9sShqyQA#h46ZQ-iFE5YNEUqza;Qq_C_303Z`T;m_ z3@DK$(ZP^)#1E05hb4NO*MG3L#DJGoimuO7m<;|$^7eYWA+BKPnuL#`_nqz!Gno$0rX zQzqjO`LNG6h2GV)3{6DD;Ujwk|MG9Z(Z^5z*_Q{T!lWEL&31a?mN|4ZGn2%~aN6;% zhBFkJW!R=DD4c7r1rUkiyFNfiICYFsuLwKW3$77>Z+^6(z z=$}9cq*|&|sCgx5n{~K?l^=#%oUxIyc+U7PSS#m(!l){3ysuW(APP-UfB}P{t?$by zf#vZhU;vJ?DMN5*X^WJm$dK&;nA3LS``tD_8LWLa()`87Ts^@zX$^71^bLCR^17A> zhV~|87F`tZT^#!Z%MdV9HA- zAHib_0=IYZri8ABp|cy+LR}E&;h$!I#$EBHY5(Q$ahN=9JZ3=2!;#xJBBk=~v(5Z69C=m5!RKu7FkyyQjYI*t%N(McLY$r0rLnXF!8c7Xtm0lv zr#f`Wu-uUjymLog)}UDNwx`ck7^Un1OmwDMwn|n=1#Dy}r@b0G|7uBsVeMO8YhN5M zv|InPI+zEteE0tdg@yDLnc>}L!6)l0I=OX59XpK^fjA?dXO}{MjGvki3vyp<#Uu8U z^!XU=heU5bkVHc+9*c`~`&on|)vW>uDKjPK#$ra|K1|SWKq;;cY7%qfgm>+76Os3O zJv-Sd9kz9^q5W7^Yhbt?{?oz)Vi9JqSYbH*ba<0z+mPV2r{iIce?ak(!1uqzyl45~ z0H#C0HFBm^J2`a8qLQg6hT-=7Ii?#MPLTy})+Ua|%3XOon$Bgh`76?|NZElyCHnsR zfSUq4cIDwPJ3kNgj6OBWOm4^#h4Ua@@?R0`W~5Xs@i-fc8QuwF96tDGqCyZu{ZDyF;9_Y z=|+R=E8YO&s@T&E!J0tnQ_4`C!H*ZxlvhzUI^8UMfjk}2Wt>6bvjPYg;u9|ruI4q7 zy4gHeqrFmCcXaBq_4o1yExz3MJiDYomr7=*)>N8N^SK=aT0#G>PlcWSj?9!9@OXb8G?`bFcI6vHGwZj*moJa{TZn#N$Xr_OTPw?|F5O!H zqIh{Oy6gg(Mqa=Gl8Gja{TUu*-nnBt6(cqydV80ezZ7;fdjUS+2#AjH(Ef{|raI;- zgrIVks$HQj;+5FUr>IRoF_7}M#s(7MSX5L!`3!4rs^_e_YYC$SFp0dQV=T&3%;B_k zo-R?sP1sde3T7Ve5vRNzs?{5x2Q-x7v!-Y#pl1oL&~@M%#%INOK3^uqD!;s=wdO0v za+4-u{0kpb52xJB+!h?z_I^tHBNu#kG~FH{Jy{j2FtiHki=@l$?yp#t$9RUOcO|3F ztl7(>-4fsnn9je2KFAQ9G+NdDwPO#cg>A#P33apSu|w$0fSnV`0s=~u6V7^9wPOZk z(4mp*qlM;llPEI8qUrC^_9=}NBBtdXf3eZ6v%ZXFKe!f=G$ig6Whr`8A%c9}_0FU0ufAH&47Q3m|wdRYL(pUv5hI zbET;|OjQp6{Fy4%M!*>8Tfku91ZY~c-b-uIFNQMQDkX9f_O>H>Vbo|klgdJm^Dy55 zR2f+bZ|^fo_pD*ej9KBm#t(9jegwb;Vm)GoMKuVfj-X(=ZFvyfFwoXShAbA=@qIi} zNyo316O0ghm4d8dZhf8PDbb|Aq(PI$%9VaKvu-;0YMzafc6DEH z)d@-U-g0h|_?a(WEG15knXB)I9$Wcgn@q2RQglA|g{YAC2SIb0>`if0xG$%ko5%_j z31oL)@|cy*6ZT1AVg`EVudJsWZKDN@z0dx68xF3k`Co^Oq3q{f^Ud%FtFBsP;2kJa zbjVX@v$)^;L=$<+%Ieo+E7(FW{W14RX=~+q>Trw0O-Ev!e||J~^T0O_$3~ z%h$7;3Kj?<)3toS#eX%q6{Q&yjX2@otY?|JRnnm9qiE3AZ1d&JsgB*= z*o5{b0NB5KCEE#pV-{;$BXjV^X!d(J!j`ME`#Gm_PPkkaR+mLh?6I}w!?13PC*S+Q z_swt@Y;^_WAD0`(i}uV}y7IVs0+-+Nj0zx*e=t1Dr}3W5&*JzltI$oXr8pvtoO!4` z6r16nEYM~)GM z?x)Ci1CBdGPQYObK@EMQm`$~*83_mHipg_TcEKu2A!d2v3pga#e@n=EJ7rGW6Yh&& z{ZkfkQGXVLBW?LHz)=JRrEg}|>v!vk1n!c|R&MhuDz3m6(AjKvX7!DzFn~O7=v?fz-r`Ki=Md>FNYy4PuN^%Ej^tqrC^;C+7WoY4L+5v%>!r z|N2Mjw^xti-R?&kz0b+|SFEbC;$tC-RrW9^yMISgm=r2ZTltl*1Zvlu?rkk03F`E0 z#8v9VGgl|7LIolO7`BM`lk`v&_zp*Fo)vWv30)C~gOc2KtCbnMkcP@#sSyf30eSP6 z(m#AP)AjEK!HE2Y*3N=AA2H>AB@Vz-x(NXy7~SXNVYO4HuF`jeH5C{9A}16-5?XuX z6H$FKBtVe+y7rQ=@$eW+&tIdCDm?(^3R~RgLfR@Ph_0LG3gf?U^XpwZi<7Q&modC( zdd7uP=W}$YLzsaC0E3H5WXvQ{o4d%bQygIC;fAB|+o_#^dK~Gnj*v*vgZH zAnd;9l3#u$wJUm-jCnY;uJ565+IIs21u5eLHHW?TKcF`97!cf&sr%Eg0s2Q;!B>}c zHAZ$JKxg#NQ@MM^k835}!Q&@5#7a*<^ZMTZf^Hcz{&E5uO}d+w5M4-`Ej?oFFx4Nw zdBIH3C)8>}2Zayx5~?uP;(B~e5qC^~a;~ni*#+IZVWooACh3a^@syWdn6#STo>rrVJYZrE6&MX97Tige z*+i$MR^h8^&*)&_psu8FOE0=fB_lo4n79Y6s?EXzOcHT7jxx+G_{M$nH_g1Bb{}4V z1BAEUk=TvD&-_Oy6W9we{_Y3_9PIk)k>zAOZ(Y4ZplGK>x*Jj0=l@^}e|WUJJ?vFX zzr{(OK&>2(1y4J5O3mIy^&2cz_9udqTM(@h{wpk__w5|X!g9He;J(2=uG&x7Rtl$W z<1THVLAGhhSfgd7ineN#ko*xF1Fn}6 zxOh4|%uHcV{fYsUzwXq!X|jdx?P}v&DcHrM+WLroD*yxIMpH4OFS*eIMR#hA)d`5& zMh~tn`ffaIBa#Pe9@+9PSsWvYqX^vAuIrP&MuN#{!%=D zxMJ~xTgJgOB|bV%^X|3nf7fe^durD-(eX!HjWueuq;3E8HJJuzJebdb^yHxzXV}zP zxg}?DWtR#3CiO=GSM|13-#gq_8?5>+(2ic}A`c5kRArjLw$q%wNp(RMQ@jZ}z>eziMag>^RGsC37Q?2b`OHz_m zwkc1u8D^uu5_3?6Rhly_$>5CsFxf+-A@e#45dl@lF)9=_O;&RGI{@U%z7m0dM9*il zB3-fg>5gjeTIEUw{{RzI;3K|*QPv7~VDACf21Mif{}G2T-!=5zgs)eLrvl?Neqko4 z6BarZiBCu=K+mR%=l@k`Hpgeq94e9sMWcNR{)hVb_hS*Y&dI#vpSBcdiT4Ie2>dd} z2}!PC(c@KIzpGWN?WgP#%!*q?$xio{OamAUT4HZfQ2nr!%O}|Q`Kt64eCoyRt}&EH zKDe3A2Usx^fudOY{8rdb{Oc!!jJ&*O>9wVxZbRE*im}n>n_5 zlJq2QzA{o~C1M_J0&lR}0vVRgM2L~%nxD`7w2%G6An^!Xm!1m`HjFGA%?k}q5oyvbjdF5(N14IeoPND{^L7_I5Vbz#= zreo3ifY>j~E~_z>C!@DXG&bclfZjsg`jVWHU`Y;JWC%?HL|E1fxZ9O@Q;I zFzUL2;01_=THEp_Dwp82QSH$^M?xjSsj7ZiZ>5?$1cIn6eB=VyijqM-@~jD_=Qdfp zm`aGvA4Q^0o;sF(2qZi&^j@@6U?2|*7d;})%fcD3<5wyzxV3Luuh7(~dPIBW@M3*I z&Wh88(~VB)KNZc5+o|u|)o@Lv3Nxlb#3gxEb$*nJjit)~_*Rw5-zAb;K5&CA>;#V6Thy!g!eLs!DB@;=9N*6emFsKh{k-)@}0afP__!dEV%rkyACT zIaw-s&5kEx%w~ zpO1h!7FykI6qa(5#ipEddS;(x;@seR?HxwkQwP9yj(Hwp+Y_0Z`!ct1{GUZe7D-4Pxaz}cY5Y9x z8#lvi6Vv_o9e&ngeQ|(U?tLWihabl#Oyr$g`Pq5>6@K@fG7GzXCr>EDTz&g))d6 zB|ej!1YN`TcJBVDRn=^Jg+J=(8>I4NJyJ;Wmzx&9XilGfzAK^f$KHY|Du2tdX`7|K z7XFM8J9jwaT948gj^#J6Qeq#{M``Am%%gQe;XS6ZnA2(8kK5I1mI0y_^SLs>8HZUs z#7T37>K*TV5&XI|Uz2V5D)7~1+8RP5P>p$8Ip^huHa|eBQpzWG#ds9UwuRNahLs1E zLbS(XM<8G&=o;X?vhLX3yU#`|{dt&8GY!zx8F@LJ(iX?gDkCX%=e0oh%@2`Nc03xV zYt{O_zn?@PH5QtdX~y85=^(6;&4xsTvCmez#hl@sfE$+o>VKfwro5 zo`gm_DE-q47|~Dp~Ue&sC9xC*Da;8YqyhK6WD+2UdJ?y41*Xgt@3NBW$@T68%bV z|Kfc}f~@+g(6|kAFU`&7CX&Q-NEnF*ilYU8P!4Y0PPRatbFRd@Z&kq-C$|);LViU!9FQ!Pi6>MZIf6$wz z@K1aT9tB*I5AxKwtPma&>Ruu}r=w=}G8Xe=l1skH zjHNWwTAOZo`d-J&71H^S)y-xbSaQ@}8pS$X_YQcDgH2CT-}R#RM(m$QMc!{P${w^^ z4VU0`f?8}1!cbBF#Ih_>|2C^eY`noR6r?C6&ejcrU{c_4b=&*?eV6m&lhI*ur6_qD zzxrgDiG#kbYFOb21VwD>o9e~UEdjw@#D?loI>M!nR*1{W-M{BDY8U?bh0oV2B7{-# z2)dlL^5i>Ag=a-6iZrZ6%ROO}>P1;Ug&^|ZX}{D)wOt!0YZZRfFQ3vwITxw5HF;p_); z8vq)2@F2@ek>E@SAGjKX0NL#<6C%~8axOYq8RD#5_lFi`h&-DTJ3+?d!)By`mglbr z;SrRf@(xC1noQvI-8VZ-xgjcQGuJ4E_CH3Nc508L!G!T09TT8!zcV5Trih~JE=?+4 zacUppm2~jTdh~AHz=MT1=Y#( zlw3)60y6d6grSL8L@3%mUJrcZLqF?%J{bRP+Srv?{8CFff6hcG&+`PacIzPm|5+xf zsuva~r1H_pO0+Dkh@*WYqI-21&$PXzDJagtnq``ifqPjwPx>#gux2~&LHa|Zq=r)> zD5FP3?JP0`;IHn}7hzb&1*NJ_E?TaJ@)V828kr~zv#P4@L;(90tud1Zqf@6j4S;7= z{RBl6<1oD4(pv@vD#n!!?JL{&;4}V{x13?hzZ0hoiIet&VqA}sy#I}@V9?)k@=<}&du(4(_uPlKlUqaz3JhQu^REMZ;r z7(-TW<@l{Ds2;&)T;-P;@g*!PD`@XAYtYSijE~aq$K@c1)R?>uL)d)+k{6Lp0<7sb zTXjvDiIl`y$!DW#;(M*dF`5S|vB)p_ZQda-BWk0{64YstCaGV^GN3}A&{Ny8vOc#< zb!ey>gXrW|x|OO_v?FTq_@(~lD!*iBtjZLbDPD(Pm8B7UQ5GN#FV{a|-ANqXb1?`5 z$(orw6Qgbsg+C7$U=%Mucifl<8YbM(i4*k2E@o{1lAuLmYF`dV9Brji3njL|hnw}4 z{eA;(D6^I_S6>YJ&?1+kfdd>c##+>f-b!T{qKk~1v?#h+FYp93NC~j0R$m0|h@+T&9&d_qp*hHS^TDjuN3}4?9)U&{wA=pZy|TS=S{4 z`qv^y)(CXTiFg;&CUN2#lR_Y>fz?;p{mnU=t-2qwW`hl|+45TTSmGYgEf~6=#ovyD z@CgRAshEgM2Y_a=g-hnJvs{Mkhp3w|3eKt8QC_Zxg8`I4)HL>e>h{+snUoxzvv2Ms z)T1pu<*8=wnnX7OJGZnXyy7hs3qjv!7PpblezHbj5v)pGYYp1#v%zGVg)VAH$FQ~B zmuOFgAe(-#erKL?p69IGYKN8|lFZ4`0?7(~fX+smMvlu4^0~Cctw4+Hrc1!e2GZin zXvG6)z|<8RJ+Z_WE+F-EgPxy`>o;5sZH*W^MT)YlX zcops7Lg{#2sSWyNHVN=V>LWr(y;&KsApECR>O>$4rzY|0Z8Ry_IqdZPy(KNP<7><% z<4uAbL(|jvMfx5j3>eHPqWShWlC~=Rpj2gAq>L%q*sj6(aWkC)J2|Ms7c3~$pe;3J zH{^P$AH&7=)#GMC1=6GTbK5=YDnF#?bs}0Jv;DjNY!bbXzF<;p{F7aymsG&YO=@l6N_iFJzuO^&<4pW)6lGcne zG4LG+-YzdX9BtfTf1IS#Q@!OM%Yq;@p92$$6CLj;u@6$MV=>c@C!v~(j@~({^AEO` zfNWmzA%4*fScrY)M1VUswSdCbXLBJscK2V7W3Y)|LBYC=KZQ7<5dg29GJT~=dHC)1 zbZWrPOGS|CgR>f6#lv^KoG1ekGO~&Qo?&sE+de2X#dh3eEXoWn7D`-DaH=P9@^NoU zFvs8U)p$y#@Q#ka0p&@+?xb9?C zT}w1GzV6pjq}lj>LEnBnZfYBkad?rGe35cI?2Co9;Q*$Fd(8-MB6-@SMu{=#7l2#7 zIKY9{iV_l5V2wnaCO>vwN!_GvM2d3~JhK&vB};S?ZBq6ECZb#X8f6n~xBGiJ?knAu zQYou#iz-j>O~9~p17IGz8u-;Ct|9+{UF|h!KV0y9MQ%sfjvm>GdpGo(Yy%p9lU30D z;@-mX@)2JNzzxO5?J5)pASOTpualxrR{96;+m&W_0{in34r0(9P@V;k=~5FT3GsWu zaZxJSseE5-visjWYCV!6upOlqU% zYZlf6RB-s{ZHfM46Q<=}5yS1tp_D^nL=-zl)9jGUnBpq%aB z{V0JuyD>-_dH=$8kXx0y1RZ!cZ5SgY+N2@(^a1v7B_B3FM|*2$jZ5)QT|&~vpjj?Y zRaQO@i9$eBY55;BvNWUC(b#LR*UeSBlvz*B@Zhl3u>mwS0k~mJkTz6%M;lkFsM?V> zWLRZ$IGQ3z7_W^BhX$Xkv80mzt(06*dB`zY7Lqp~gpC=ni)D~QaO@3dQCs&x#pmcT zRX+Q9BYqA2UmT|hQ-jVZz623D;DZ<2i{ETMN~A;8uwkztHpb|wwz03CJy3E-`t!i} zv`CL(xmmW>vM^?4d0MlL`0%HJ;9jrw{K_8SsHcyQS(arb;ON8Z>a@B^!XV zme*_5xZ~j-OwOh)LJl!`USNpNI*}R@_)hn8k3jaSdjc9O%*}eYiBS{L!|`BPqo)Cm zEG9IBkA_Xa;9;E)G3(_eTQLScbNWMZ3U?UsUqyui{+5p#2Zw~EwdNq(FN{5$i$7=x zRDB*0rNtMmCe1=4Qp8OT1>LkN3)Y2vD4cvSKqYQ*6MYiw=d3;5dq1GZR=yW$nNKQn zpt90>GtPuLjILegMn#ZP!_1R?4JSh+DqVoFcB&P^8ks&;RCymBw8FgFXL(7;Jq!Wp Y1K9;e0_xS^HA@e74jGdQT&s(6$jA!EvH$=8 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/_.work.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/_.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..7196438914890b25aae47a5d182ce329965f4517 GIT binary patch literal 6101 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/buildfingerprint.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/buildfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..086e4c354560d735744cea0e90078d5cdf572c58 GIT binary patch literal 2745 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/classloaderscopes.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/classloaderscopes.bin new file mode 100644 index 0000000000000000000000000000000000000000..ee2544267cfe2191527358b74aae2bbfea816517 GIT binary patch literal 2284 zcmcJQe~1-T6vy9nEyS=Eq90I!e-tJ(bMM@_bLY+`{jr8bCJ06lNpgRjyUu&_-fVMc zMI|VLgs>m}(LYAiAC+2cfmTu|^oOv8WFh_9YTfMzWYiyRWdBJuzJ0oHS9`ifGYpp* z=A83ApL^~(sD=<)g!*d8L0P7)A@|V0iCX(YY9!6fhCp3bOIgU4vw6{UI57!WPA#)Wggj7!LrkKCYlw_8R?hxgg-=_qEJm8pD(Ag; zXA|lYcI4nRTD)`c{i~agJg{f-jicyvFJTu#mKQ^Q9ZFTmDzM+k%Pehe#hul2P^2*u?vDIzZC35bae3#ts z9z5~Y;7dh*@V=8GK@HS}>Wwda+#6-+{fQfp~M zz-&ZxA|q)6A(aW)!r*q2>z23S*vOqX@7Z_chgZ-ihhFR7*jwI3VPe^85TI2=@s z6emGqiLq5xP^%aa9ztwnl?^~_g;I&EdI^H#!?W*UfRTsF`>z}C;qH;32d28uSE)p@fiTgKt`NbF2Fzfrn@&d>P%eE2@t z0vUFt90H2aWqSMrjm^y6 a@0*{JT9jClnV;vJpPQSQm-3l`fdK%aKpFD@ literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/projectfingerprint.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/projectfingerprint.bin new file mode 100644 index 0000000..d4e5761 --- /dev/null +++ b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/projectfingerprint.bin @@ -0,0 +1,4 @@ +f tV +T9o +)Wys+I7V6r}<fiK;>ڞWK=S;*Gqm2AU_m~uIؙE+4ՆP5W>;CF*J ,JPq(+Ȉ iq.xj~ '†P@XDx 9GhgAyTVG;Uk70m= ^d>Gs>MLcST+u e,._.qU%4d&OiMlzcBwyIn͊dՙ:H0 +Ϛu$ +"ͰO80޽LKGᡅJSfh'kIW7tg \ No newline at end of file diff --git a/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/work.bin b/.gradle/configuration-cache/373cc2b8-5105-465d-91b2-de2f18c3e924/work.bin new file mode 100644 index 0000000000000000000000000000000000000000..b96d38e4afea524b7c7512d0838648c016d4f87e GIT binary patch literal 719 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 bnyA#2zRu2b!*b_r#P8Xdb4^9;YCrOijV_V8 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/buildfingerprint.bin b/.gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/buildfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..930a611aaffb48788e7e545a9ab5bfb142fe7c53 GIT binary patch literal 2651 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 a@0*{JT9jClnV;vJpPQSQm-3l`fdK%(&>Cz2 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/projectfingerprint.bin b/.gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/projectfingerprint.bin new file mode 100644 index 0000000..bd0f523 --- /dev/null +++ b/.gradle/configuration-cache/6213a67a-f31f-434b-8eb9-5dcf7e280c97/projectfingerprint.bin @@ -0,0 +1,3 @@ +yR;?&-)̓/y%K\Hs-zZT'kݧ1OMsb  8×jOĩs^fSw`+6b /08|}ꉂu2@q +R"{X6=^^p~ptk.!_7]8Ig7nAkGWgP T6RF:{6"|G5*-%޴$o_$X8`.B +և/Ȃ/lWÙې@'ߐC_EɨQ.\B@AN-xdD7 &?g&< NJG+0pG[HmKfRru 2G~)ӣ'燎>'!ARҒL*`cGGezY2L#I3+yJZ*E10I0>4c!hAipiI1Q&l z2vLaGn`FVbsIDaYVj7GnZ^_cBxnRSHc$SRA=5q;m9U}(FDs}4wvLBg1z&+X@Ur~mI z=8rn<%r-TGXJ>Vc!&;S7N#*V0q$qm;fB9YA-}FpoW_rWmW?M$+BDVleVYp9l=E^yu zTud#)Gj$*cg=@~H6uA^+2IPGbrt9|xBt?Lg=go-w7#8$6-Qt=8*(~FCAIVYXOq7V2 z+v_nI5vh5TxADf|#*edyil~-<7DL=6w%}%KLZfI)5@T-xf78pM|7gwTc=5xxwKB{2 z?O+3xbuoPmyRd|?j{WZ8vu1{bjtUd>N`mDlyOcR{6%UyDP(VHPq59#`bw8@xlE~7N zYzQE@^^KhvzX)trI2UtmH$V&1?p3^f$5k*pz|OKgo-W7`%CC3ZQFmc ZxE2PP!W4y1dm;aVey!wNqlnYR#aeJ|++F|x literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.globals.work.bin b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.globals.work.bin new file mode 100644 index 0000000..a9e8986 --- /dev/null +++ b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.globals.work.bin @@ -0,0 +1 @@ +(mœTa35y \ No newline at end of file diff --git a/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.strings.work.bin b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/.strings.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..1e3c1df9993cd4aef376aa9427dfb08abfef9ad7 GIT binary patch literal 23294 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/classloaderscopes.bin b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/classloaderscopes.bin new file mode 100644 index 0000000000000000000000000000000000000000..ae526374476d570d1e06193c15e90523024da1a5 GIT binary patch literal 2284 zcmcJQUx*b|9LMi*EyS=EqCXD>`%q}m%sF%B%$YM=gsdTv34#$sOLG4F&N}zby|c}k zT~va?2O;c_54|K&57lO|1X_sFLl43lqK43)t#r44WE7E+y-79RUERB@U0tJlxeRxh z-|zSRea?4&KU6~qEkQjs^b5 zm*CBL6L2HV8WQ_Mg)|vpE%jz_xS5-g44g-?P1{#Lz+1L%^XtRVO0!JjVx;Aj(lv1C z6Q5#b;}8Vb%y4UYWOQf~p~A$re=N}u(l7>dG0tnp`E^2P8au$)?EjR<+51c#VJ3D*!AWvrZgwkn^tTv?1Xp;a#U z<6UT|L)fAHXVB7}0|#$xKK0nx)VoK}xo*NPhb%9K{5q7XkX2#7k(XK8+Ja}Vo`WKl zS-MS@Y2Na5UVv90ZQ{U>{SXJ1QXUJU1dFUqDB&z-nnXdAP!<`%gDB#ZC0EGiwX?N3 zUk`ilJvRBus}CPZZh3I+?cbu4-P*Z?voKs4N-MTh35b(0B(b47iW6IX4ZBLt-J9=_ z`_1F0z8H9I`{1&d)@+*o^Yq#Omww$5@ zuqaS54V6?>ve1T11Tvl1W4R-2YC)Tl?9LlQnd-o7zjPZ3UB1q10L$ z5ilDOoybUdpJI3}L`tA*M{KL0;2fNF=B1|k>t-Nec4Tpnj zkm4jrEHSon1+|I+;UUCER^0%^Rw$LoYL-x$bVhpTBirb@j zp^q0u&*yqL~5W8JG2UF0c(V`_19?xq+e$XHDL0%9e4sy%J|PoZl#2|Lnu~(R}z3 z7=;YGQVsz{=o&NrfhK15Zr}NJ*|+i<)3}xMvMiMScCEGq{X9?Og0(&4>^VZ%=^`C2 zE0<^pm<~c2hRj;1JRvJXR0~sA14Zd%-cewkN$0@zu0A@nZp{w|x9{G#de!k?4~(Pf zMHQD?gL8S|FwjH*iAktLNSKHsDIwN^o!`~mMCM|}Gaszl_1Dtn5B&BCn_M@!zv{U5 E4+(T5B>(^b literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/entry.bin b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/entry.bin new file mode 100644 index 0000000000000000000000000000000000000000..df042f40b7d5c3f0f52fdddc61f51d3f3c27ed77 GIT binary patch literal 71 zcmZQf%S|dZHcd`XOG>ZG%PvZ+$j>V%DlX0|*}}-EpOK%Ns-K;ilbxs^P?VpQnp{$> a@0*{JT9jClnV;vJpPQSQm-3l`fdK%#CK_h| literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/projectfingerprint.bin b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/projectfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..2a315dd72659ce2bd5319d9c0399cb57b39f6e11 GIT binary patch literal 517 zcmV+g0{Z;|(bQ`11f4=c<`-i75*v*WT9W6L`5|!qlG5;)y4KQy+r!YK*tu0c!PQT@ zlO!&f%BZyB>e@q!kIt(?^%kYU?0Lr+%nvRdW9d(i$E6|TTM`eavq?&VYZx5CSrNqJ z%#27*Jus}}>=|8Rf7~b50obEMAAAO$JIu3|7$s|Np&2p`bMepK0JZ(5C{20@N)6gw-&cMZLa6cOfVB3`_(m!P zPA98B6lP0T+qW~Y-dC6Ir$D}1zy@^ia8%rN1cm~DW)pS%-l%EFr*nHu6_qvc9o$Z- z4}e30p%xhkjU_k2G&4NlnTimday^uol3L$fOJS#~!B6T}4ME?i6}T<}&h>Ibw$>&x z?M05nY07|O_i|T#8RFwKJ`&VAEM$ydt`93zvZ#12MVaU`f!1jRp7sk+@ zF^0<$kVg@rN2xZxc4plN${WkPuy~?!*g1pLUl@3UL!nf!<4_EJr7cG6y(6?i9A;BY zrah;cp>RSqA=hr7W!Zi4v-(IzV@q&UerLDS#P{=h(;WvmEU_w8SxRRlVesCkP$}(O H`N1|T+-(06 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/work.bin b/.gradle/configuration-cache/7b965951-6264-4f28-95e8-341df8503189/work.bin new file mode 100644 index 0000000000000000000000000000000000000000..95edaf86c43ad4f79e8e1a2bb528a8ffc237ebec GIT binary patch literal 776 zcmV+j1NZ#ZEEm)Gll)L^A+*t^3XW2oguXK(B7tLB6#N4T>#cYt5qq&Xw9INY?cU=1 z{56bDWZb%)kKN1%3It;zhPUIGlZg;Ac12wgELvlN8Dz)HzUa}$6u-t0-4}=d zp6ae6SuGh|u%Hhqwfu{Di3{dLtV^vhW>qXFXa;>Dgn#xT|62LmP>k9yg^If<@Uakf zUuw&KQK+cT86akP6mHZEQP*7%TWUA(MfS!`Ni2{L@~f+7eiGB(i|iTGHH9{G9S!qq zo@&pK4TwsJ0TF2h^uiWM&Kb&-@r^8SHX9N_-iBHJ7YkA?f#T#GX!kJw-$zJ7KHsKJ z97Ut7FqEsURD)DnmR~u340TxvddZgQxly2rL0WUlhQX#~(&lnOm?EZQSZSUkE5Uut z{3~j57|6v@`YxU~R(41m*=NlQBtP3}d7E314aD`fK8tXd>OInj^r#tHA3PhY&y$ca znzD|B6?!2~4Tn+AVay)*m-3?1;X<#$moJUHK%hB>3<$7#1ufs0VWYW~6JTg$Vtn#bvU!KTKtr}v>o28dnac?Id1gr^pY=p+@e-_dYDR{hWxbI@d@u1|~H2x0NAf-h4FNIz% zc65Ca=KWqNSK>I`jgphLc&lC{OZ{MJmeP*2wtyPyHe^?vLiqR#huZah@+R)P%Z75LD$A3V;a7b#!<*uS5 Gusr&2xPe6g literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.globals.work.bin b/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.globals.work.bin new file mode 100644 index 0000000..875c740 --- /dev/null +++ b/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.globals.work.bin @@ -0,0 +1,2 @@ +d +;9@8! \ No newline at end of file diff --git a/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.strings.work.bin b/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/.strings.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..68ea8e7b265e1cdeb1b611885c8b5c9c5583e7f5 GIT binary patch literal 16114 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%0A`toj|Xpp_+M_W!kCE)II0 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 EVIAK7pt|OH-ibsKB6AFz| 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 E4+(T5B>(^b literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/entry.bin b/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/entry.bin new file mode 100644 index 0000000000000000000000000000000000000000..71988aa8193b70a7401e30cf17043cf195ce52e4 GIT binary patch literal 71 zcmZQf$tupwu1d_WDoQg?%S_MB&o$36&MnQ#ddbMBpOK%Ns-K;ilbxs^P?VpQnp{$> a@0*{JT9jClnV;vJpPQSQm-3l`fdK%&>Kb1F literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/projectfingerprint.bin b/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/projectfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..f879e015971befc8e7ce11f9ffff1bf51dd58c15 GIT binary patch literal 517 zcmV+g0{Z>ppSm~Ej6~GBSs4w)Rsc^J*MENKa$B7TVtIyJRN8u7)((F^lD$>GaMuX2 z&Fs%m(gX`~5`iig^?PJ*Find3fAJ@@oi0mqzbcR`nevo!AYunSVo>IMkd2vkI7;!# zguf!dwEheeOTFR>e$t1*Zb{miBU60LnlT&@dx8GyY^W$89pQ2q9!`?rL1}hmmaU&F zW`!Uo4gmuFj6nv4yyxJ9C2$X8Rs#b65pTb}ZlV6)#K&#rgi*FniIZu5mh-lIJ9CL; z#iO8G3FV`sItpwRi1??;4G9?h|G`c6154!CypD7NnyJ&HysfEwFs?X|VujzxqZ!X4 zg@v*{q0dy}Xz~B4wxkl2LQ9Lq3hz0@j=t`H0mnVmT^~1@dlrq$yM= zD^nbMIZRDeL`*`n%28>F!XvV8&OjU+cdYSC9j{OtykEQcjG4)Y3dn6?Wm((JN;@eD z?p)W@uR4{yHxv#+*Re!tE!lOLJ=N86Ov H)10}>mQ?*P literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/work.bin b/.gradle/configuration-cache/8ecc64a6-af4a-4541-922e-4fee63092385/work.bin new file mode 100644 index 0000000000000000000000000000000000000000..9414aa40722e078efb8add85f4e206eb26972b00 GIT binary patch literal 511 zcmVbdT#>W*xIjXtzw?*TU zW(_dqyTZSyw#}`EcqorP?rp7K1uySJW^l{&)qcsG;Jv4!i?P7A#35UNc{KIdO(D?d zSA;tQr7jA{ks9=fjWhCDEUBsbhY>i8xqpxK1)zm1h7l-D23~d zi6h0A@q_O1rm~W%fiHFW+}q}Aqex&b-}JAZSwQ=3Kw$ZCOm^0wmExtxe_G~*4n+zZ zE1-xEKpm2d+(7d~*^k~0L!*?CTQl6k*tRFrNY})jp;Kmp?+`;ZgfP6wUYIPOr^(c- zatOBMzfpGNEY`NVgdzT*oGfldM<4A7u>lr9hOF(RcC|(Z(bMx6IQt{5MxelKz=sG% z{fsv_PpFHa9*7j^Cc*76tjqiXVUfIWMB0e!2Y;Y#4&GsZxY)MzVMgVmR)W4NgQXx2 zrnyHwnGB3gTw}E1)WCpvj+{wf`BkvSe4lAkw19 z=~p>R`1{JD5ucTXlr>v8CJY3IZ#^TlKJjt>_$sPr0Nd{Xwmg_E$ zR$BWh0tAsN_r=aB8>Df@n-QS`zKj;_X~3`7Dsk=)O8{o5r}UN8)(@^H5LtP%z2hYP B2j~C* literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/8j33gttysi79ilkcujngqbuh9/candidates.bin b/.gradle/configuration-cache/8j33gttysi79ilkcujngqbuh9/candidates.bin new file mode 100644 index 0000000..d0649b3 --- /dev/null +++ b/.gradle/configuration-cache/8j33gttysi79ilkcujngqbuh9/candidates.bin @@ -0,0 +1 @@ +8ecc64a6-af4a-4541-922e-4fee6309238 \ No newline at end of file diff --git a/.gradle/configuration-cache/ayj2ugdjwjcncqmzoelvt5bmf/candidates.bin b/.gradle/configuration-cache/ayj2ugdjwjcncqmzoelvt5bmf/candidates.bin new file mode 100644 index 0000000..61c1daa --- /dev/null +++ b/.gradle/configuration-cache/ayj2ugdjwjcncqmzoelvt5bmf/candidates.bin @@ -0,0 +1 @@ +6213a67a-f31f-434b-8eb9-5dcf7e280c9 \ No newline at end of file diff --git a/.gradle/configuration-cache/br6ymmhzfv5cg7jaof9j4b6o3/candidates.bin b/.gradle/configuration-cache/br6ymmhzfv5cg7jaof9j4b6o3/candidates.bin new file mode 100644 index 0000000..1660d12 --- /dev/null +++ b/.gradle/configuration-cache/br6ymmhzfv5cg7jaof9j4b6o3/candidates.bin @@ -0,0 +1 @@ +373cc2b8-5105-465d-91b2-de2f18c3e92 \ No newline at end of file diff --git a/.gradle/configuration-cache/configuration-cache.lock b/.gradle/configuration-cache/configuration-cache.lock new file mode 100644 index 0000000000000000000000000000000000000000..2718e6751daaeb63faffc7f34398aa338b706bfc GIT binary patch literal 17 TcmZQxX7c-bUTXpm0~7!NHDCk} literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/ewc732gincbm9sqc78v4gihe2/candidates.bin b/.gradle/configuration-cache/ewc732gincbm9sqc78v4gihe2/candidates.bin new file mode 100644 index 0000000..297bb2b --- /dev/null +++ b/.gradle/configuration-cache/ewc732gincbm9sqc78v4gihe2/candidates.bin @@ -0,0 +1 @@ +fb3a30a0-4072-4e3a-bb42-afe5db4c46e \ No newline at end of file diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/.globals.work.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/.globals.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..35aadfb43b72d46aa0cab9e7541db8955b2c1035 GIT binary patch literal 172 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/_.work.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/_.work.bin new file mode 100644 index 0000000000000000000000000000000000000000..7614f8fe2d7b937fcfc7655a07ba22ec733c7962 GIT binary patch literal 3571 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 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/buildfingerprint.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/buildfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..cd156fe5cf653446dfad85bf0a49117e8c2a6e5f GIT binary patch literal 2745 zcmV;q3P$yK2HnjQ>4B*3PF#(XaZ+FmwF;+?2o0p3vd-^3TV~JuO5~?^`CU~`0GuWB z8)S=~IbMNcSg}UmDhw_nh%FjMVFDWBPK@qa7@ZrlGD?|&r}2xH^-zSvSQBxb(&=z_ zId`!qA)!U(#eLI&MGXXaT8t4qF7W&p9wNWouIcVamQIgaBw2t?z)!iNBtKk0PD5Uh zY!+Ey^jFJng@d=gF(`&u#h=iFnt#Yrm3Mb97!;gDe5IAEC+&;~O5Z}Dp>8*WAzz*Q zEg-@?r|ZV{1ifc_JD=VQI-Er)bFA=XUS3c(v_#@vwP(B`8Gsw2PoL}RCzxbOg9K!fWEo@U)TN;Iz>{nKHYU@4zOJhrTOrh zkIrx^i{Ln9mWyU~6Lc)dWvBm#8K;+;#Ykh|1fJJ}Ey!(EGbV%ERR zhwjR20=|M79Bf&ww`NmG?RR@Hh6AT=@2VKeY;#+J0&oEP$6+FFI0rq1`y+&_ zij54N(oaqQLDb)`K~5{h^(tn%Ur}mu&2knuXLIy#cXD@au4zy$nVWF8Lw7apjz}c? zZ?GZ|Wyk+3j4Nj&3j2=Tfug_MsuRR5Cy2~!0{Ok0e0|{&C1534TF7;~y+7pRt1bNJ;fe?$%>l9`ObVBL! zLPNY)8_!M9kK4T)cNEmvwRI(*-rRyQ;d|9WDA{eF&$hOx&UJ&!o?5f>1o}`;r+)ML z#B__-gQWL*d0k>^SB92aMWN@{v^!+9#WWb%l|;1UtjR*IRW6elN4a0>@y%i8zwijMli65d z+6GBt*b1!%kvxnBo>n#Y8&;edPZzHK3r}b4J z>Msyqp^0GrQ*2!odi@8<{)+R@7sT{_9QSP1IiroO#!=E*mq%>SPK%KcWop#GH8m7Z zpQESF(;0=mwka zWnHU81Ne_1y9y}EsfQKObw*QJStT^p$8_2#^@FE9o$V4>p^KG65{%lWV@vF^y`wGp zm2`T^hzFRCA&A4huq?GYQewM?`pW`oH7q1!=Nz6OSsXaFT}?T=FjJ}Pq_#%KjHRo9 zOJ&rwiIk#ZEQM4)n_QUbPvHbAid}K3n7_Fx~b;93~d@R#5L_RCN10zQHZ3i#pj|@&(WUbUw-dqX?img2K(ogPN}i9Wj&#+!emsNF3lOAfWpBGkCalZ z1zN{cD#CXGap&0qZCE>aSz%~>P0^o1k|w1vB(4Y2E!A{DZlQV7;jWCp^7RWJ47c5i zoaD?eXXU`C-EGxP8xQDCYlLINdnK!5x@?iJs!NaWqOpg?4v1L!1->qXS#u|IAj;$9wN- zYz2>AZbsXTBDoV?QdjXidNrhE0!|KJ*W;JD5sFTw#MPH{T;q>3kt{=f#OQ{$7sQlq z&AmJDu|NRybJiTxs_x_DF4Y>r;s;>7a^>ZdZlF17CF+D}CLXkpnHm12;Y-S-mpDvkaU$OMXKftUwy1Xdr=Qj%}X3aZpVtsy$6YTs4 z2fqn&#r0b{r|6K?1=>}8BqWpdmMT_=^= zjls}M7Q0h&0y(yvyy8Z7K*Ys{*0s$dv-_NCc>N6F)s>zgP}XHB$_h92Tgo@!?_VT~>O4YEKV0z+E|aFi}7&Kv&5CJHeNH0*g+Ep35zT(-JS@@EOxEgP{6Njt2HWDoG z6?54eTwrwW>&k!W^(mZBK2hVES8=kQ8tfaF0W-k$6p(dXg&AYiHHy9}6hq{CHI2FI zoGYC0^;JeX=A|O@+xw+Y(a$}tJEuoZC!m`mBAJ39^}SDim0JFNe*s3J*FuKxX(rA_ zLaDN;O3&C7zHI)8@)|>;+kMxxMI4uMTQhfO7vh0+%PIicTvHD=5`=%$eNLd-7v2^R zU@;MY}6;c5+Jl0%TWy)DtbZ*_84J(nOO zkmGoS>c3w&IwFn$&t(VH2I0lFKh03P{(46!&p?p9enfjGWC4I7trtUXK$PL&d1+XS literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/classloaderscopes.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/classloaderscopes.bin new file mode 100644 index 0000000000000000000000000000000000000000..47a3596f4de2527498e173134d258d2753c01ded GIT binary patch literal 2286 zcmcJQU5FM{7{}k^T8LpSL?0Igdr@f6%sF%B%$YM=gsdTv34#$sOL9J*v(Ec9+nm`& zB`CZQ!als{CW*SJHj5?DLXSUKQupW#0Szx#c}CZ{c@NJw5Tv-RnnB zqls?H5}%h^id?px&GMGRiAlh6YMC`6Lu8b(a_-r(eA;$JKGK4AvEYw) zp`i|8hxVUAOLq<&ys`DvV`EeA9zo~23A-G!EFbdgP^es%h5bfWG}HDLJbU#VvY$l8Pw&SIuX6hsMSkr6zIB2HOyg=}7xt>Sz= z?7jEc>0EFhEG?$>Eh&99%AmJd4u_O|d2onkW zFZ3^D>uBfu-+!98>A;saJlD4=|8#HBzexHaCnk;*Ay!2}z#&K&54Z$IfU6kPf1-aG zxgVWLA9`WmlYg&x|HN05>-N;q*WJu=wcek_<+;K%Q-!G?`ZU0@Bug~|N{I!CD7Az| zfr@FUq@t3AHe@1@@%(6SCc3irppT}X9ba+(I}LB`XFE>T(9v#cFR`{2OhSoLYiUHl zY(#V-BWVI5l?mD6;LbMJDR1Mkk^Al#+jHoa|}0f?K(Cwgmk=Pve5MJ>%>-LfGj%9WF|j zXb6}NLK%k4S|~jsOGA_kQ15tfVBM6?f$Lp;bZFh09}aHcy>a!byi2xFlP>GN*5k*o$tOYy2tGS8H#foP>Shee~rOO}q?GrY+ZgPLsaqS;Z C#v>>I literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/entry.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/entry.bin new file mode 100644 index 0000000000000000000000000000000000000000..959a5a90ad32b7a21e8047582c7e0879e9406152 GIT binary patch literal 71 zcmZQHF3ZWx&o0W(G|eziOEfFZH8M*pEl4uX`^d a@0*{JT9jClnV;vJpPQSQm-3l`fdK%FOBsIv literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/projectfingerprint.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/projectfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..0196973ebeaf1a0c0ad6d98492b5f62ccd554afb GIT binary patch literal 517 zcmV+g0{Z>sDaa|YZ=qnvZbnw78(jVWE=RX_c9Q=y+lp7;PN4i4=(BA5;CUEmSO#wo zs^HJg!4+{dtsCgp|DlNz>R+Ab-*=oLV8507vxRA^h=j@X)XVJk?-*`@*CqdSmf$VD zTq$=vy@&3-@xQGE`GD>8ZiTcu^x8l4-YfpkoTFKN%#ICWZmeCF>kBOwzv8SDUlaqe z@#>$wV`NC*?aXO_mwV3XheOJJ65^(Z&admDJHAj}LE(%C=$r533*6)tCDLCg+2?x; z0EbRzp%&*-F`X1y*hYO?QEk<^Xn}oVbIefPm`v2-2it>Vf1~)Ju2lk)7J}Xm-E|Xo zyZ;KM%Qz^ZCx#^&j6V-&E&zqEEeTjYw)B^tUFMS#Sd{&sycwJkQgwr$JPRki&)`7; z+bI`6%{-r^V?u-5FX@h5x-KcS5h3K$f>ZaYl~U<3r^M_uN@}O6W-Rwe#^+Sq1PDeP zgs-IUhcif%TBirF$E)A#gSsV1^2#@9F)9#pg+StoqLb!zE_-ty**MEwAmRk zKX@Zyt;lN3qEOM!Io!>ufp<^%Gd!xRd}sK^8+*$+vJL)QI%t_qbnDKOToV6Cw*zkq zOHnb70V6MURoqdpK-EbH>^%)o>!ss^8#U?JRG^43b9mh!(m4J-;Z%6B);Ibi!Rsgy Hn)*@bbBhYJ literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/work.bin b/.gradle/configuration-cache/fb3a30a0-4072-4e3a-bb42-afe5db4c46e6/work.bin new file mode 100644 index 0000000000000000000000000000000000000000..5dc5360ebb36a27c43cdfa05e6ba701e8fa14a36 GIT binary patch literal 539 zcmV+$0_6R=|HyWEK>K^JJO9-k6t}Mm*twiu5vzN&N^WLZix0!lf}`gPZpCO>^l+^q zN4b_BIgS*RI&=D-g)(^RR8k*al@!29<})*r6xD97GDYOY$$#*h2kdme{ycIL9m^B@ zrNyjJ|J{390j|{cZzRYCuiGj(^7u0Gvb5n4K`4N z8tV{51VF@_<$VkUF37xM2Nq#I$oyL_Tvqm4|1tLQvl{)x)rp{#Z{S!ZpMKfz9XzRk zN!jaQV9!;ve=uPe4SL$COiU!^oh^egU#6qQi?wymhFQ?Ix4&w4mhHk~LxMS;=fa#RUcOj0{j)0(@>wlFrSvbTGqUHMF1oy4Zi>Y literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/gc.properties b/.gradle/configuration-cache/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe new file mode 100644 index 0000000000000000000000000000000000000000..814f97b4097ab7e63ac062e4f728d8d0682b1cda GIT binary patch literal 8 PcmZQzV4Qz=f!8|#36}#r literal 0 HcmV?d00001 diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..dd29b4b --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + id("java-library") + id("xyz.jpenilla.run-paper") version "3.0.2" +} + +repositories { + mavenCentral() + maven("https://repo.papermc.io/repository/maven-public/") +} + +dependencies { + compileOnly("io.papermc.paper:paper-api:26.1.2.build.+") + compileOnly("net.flectone.pulse:core:1.12.0") + compileOnly("net.luckperms:api:5.5") + + testImplementation("io.papermc.paper:paper-api:26.1.2.build.+") + testImplementation("net.flectone.pulse:core:1.12.0") + testImplementation("net.luckperms:api:5.5") + testImplementation(platform("org.junit:junit-bom:6.0.0")) + testImplementation("org.junit.jupiter:junit-jupiter") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +java { + toolchain.languageVersion = JavaLanguageVersion.of(25) +} + +tasks { + test { + useJUnitPlatform() + } + + runServer { + // Configure the Minecraft version for our task. + // This is the only required configuration besides applying the plugin. + // Your plugin's jar (or shadowJar if present) will be used automatically. + minecraftVersion("26.1.2") + jvmArgs("-Xms2G", "-Xmx2G") + } + + processResources { + val props = mapOf("version" to version, "description" to project.description) + filesMatching("plugin.yml") { + expand(props) + } + } +} diff --git a/build/classes/java/main/org/kilka/moderationcommands/ModerationCommandsPlugin.class b/build/classes/java/main/org/kilka/moderationcommands/ModerationCommandsPlugin.class new file mode 100644 index 0000000000000000000000000000000000000000..1ff05868b6a2176284dc1d8fdc21ea5548b95a01 GIT binary patch literal 12758 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 So{?{HRFqHOmhZ|dsQ+L3-~vzp literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/ban/BanService.class b/build/classes/java/main/org/kilka/moderationcommands/ban/BanService.class new file mode 100644 index 0000000000000000000000000000000000000000..7b4d0beba3f2ea3a8e2194c65cefc43d12e01334 GIT binary patch literal 6291 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/command/BanCommand.class b/build/classes/java/main/org/kilka/moderationcommands/command/BanCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..85892cbada45d6833210e5730440ba37ca117320 GIT binary patch literal 7650 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 GMDo9-C_q90 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/command/CommandCompletions.class b/build/classes/java/main/org/kilka/moderationcommands/command/CommandCompletions.class new file mode 100644 index 0000000000000000000000000000000000000000..a76caca6e5e5ad452796da380b86004fb7662548 GIT binary patch literal 3447 zcmbtWX;&0S6umVdJq)ejh#+d*g0g5F(IiA6Mn#Oo5e$QvkVTuB23mT$Cp|qVX5SaH z@5^7vhs2y?)DQUqIr&XFxz*hR)iQWI#)DJURj=-Q@4lt#?|<+71z;Gzq>w+xq*;p_#w&BcX#-=Zud0(Jm&~hyQs6btJ&twylXw;C>(F9#!z3a_prYrOFmY>O) z-h$~7V%GG>9NTitbGET)dS!u4-96a=xZ+!OX2`W|B3rIA(1dkp*3hD3J<Aid)yLTRK+iTE+p&Yr_-@uJlh<_2IJq{E!Y(|lp;O0h>=Edf z?9N;Eypbuo1=BMmXL+|+G@L>?6HQ2Gu)v{Yn^J;=H_TYJFN1MJHCZ7(bR>u~`Lmqa z0oD4zm_{1Yt)mCM0*xonj~|~H85_+pz6uGE;66N}VZV+H4pdVph;-J?8@4G>KRz}# zL66mw!4^F}h(j74)$te}ubx%R5@;e{?iJG;GRj2SqxuuVS1nggF&P*w9fxs*%6(JP zeK0zyim5&?#q*qJ7OcGCn?cwHWh|Z)IIJqJA*({ggWpIOpVDy*#|7Gkj^~Cij*RAp zM{^?+Ba_1y$Hq?%k8?wzMn=+Luw5^(U`WSF49hBTJ>M({^r@yO!mFDgS$Q#!|bbQNS%!HLKpt06RjUofnTFqva-z1(D zNc7Dm!MsWI6_Pm5v7h4w*3_W`oIKCuDw!Trn$S&n0WWHJNyp2$D6nq19>bDJxHAH_ zYIE4629$LEUn?qwL2lE!oHgqhe#N7col2DC_MoCSDx;$V%(x*|t3Y#>J#e&AoHo4) zV_MchI>^{b!?Wafv{>)YSuEMZ*$1q4DqQQv`)z-B02XV^Do3l8yiBsFi*Klb!0nP} z&RAEMN?8rIz?lbAy9$eqg-Y1*NKU63^VO}dHfYtXyF@Ras5xmFae$-Zk4sak^l1hSx$TyL49# zMr*)Nu>h8sq013YEZ-#D{#fW^U7}WhmYEbh4g@x*Qa9y7b*eIPf{W-T#Zo#|D*G7;SQHO}AQ@V>l*KhSXvueQj) zkMC-d)x%Siy)I=x)o}$^TQI_fFH-mtUupPS$2a&^U{}z<0u7e4;Le+wY!C;UX3Q9Q zc6dHgnu_YzKWbc}L!l?9nV_~=?##OGe5F*QoR#p!4o)yLRq^}Z3{~FytV&~qJY?8* z&f*0sppQ5X?{3>Dm(8+<9|U%<;G~v&8h#Skc5hK8QOE@jFb)a6|Cmkky~6PlzY;K@ z@s|%nEn_@J$ajsj2z}}naJ4?f9^S(RimqrgHa05qg z<3wbOxip8Os^;%9XH2ecZdaR2}S literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/command/CommandOwnership.class b/build/classes/java/main/org/kilka/moderationcommands/command/CommandOwnership.class new file mode 100644 index 0000000000000000000000000000000000000000..6cec5d578c1e857ee5fb212b8ad9543c66286b60 GIT binary patch literal 5869 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 ee|w8#zsDc(XWZaOj*?E1c(;h)d-w(@ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/command/ModerationCommand.class b/build/classes/java/main/org/kilka/moderationcommands/command/ModerationCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..c25e01d3fd55b1a04ca3c309583a6926d87ecd7f GIT binary patch literal 4998 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 bJn6sv6;BGeMYX6wQba{e#F6|D_v2=e literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/command/UnbanCommand.class b/build/classes/java/main/org/kilka/moderationcommands/command/UnbanCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..360d7a3e1daf31e39bdaa37b796f934cbdfdb5d0 GIT binary patch literal 5285 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 K@OS(Zss94mfcG8% literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/common/ActorReasonParser$ActorReason.class b/build/classes/java/main/org/kilka/moderationcommands/common/ActorReasonParser$ActorReason.class new file mode 100644 index 0000000000000000000000000000000000000000..e231a8b4b74cecfcd339fe611068c1f9324cd5df GIT binary patch literal 1823 zcmb_cZBG+H5Pr6_y|x?_Dxjc(FCcwEPE>p=qKFbm3K}42^wYN8(4*~by}Oe5pZp++ z#Dow20DqKm_U?cqMM9Jhmz|xPnP;Av+4=SR;3t4LSV$p)E)7u~F~k}AcK9wg8r<48 z)0q_y=~OZMx7f?Srs;SO=(qRv&pThV<66!-tEA9b)pf zydx@ZG53*SG8@tdHSW~pwiu#5&vePO#9F&q7WO7DH;8$rBrCkJ#cfmF17*~$nUwkB z1@wSMa8Gf0{1p>ftNudnKjoxHfP3^qd6lG3egx7yZ#rGidbnq~my) z!Ym$Xc&y_Io-&LbKMlKWxn@%sKAj*KL$Z7rpJ6Xt5!2e0bz%61%k(ZA!Wl0~S#P(B zoxKlf0>{lSE%917729mlGYz{eHn`)26~RP(>I@P_Kk>|tnxd~*max5$f;!$EYKw;F z3=_u{ID?Uf7Yw6kn^IGJ`k0~h5}_v;p>;y*jHHa(HFU;7dkNR*&vm-3svSvZI{yPK zU)YD1pV~*y9;qT24a@-pVI`R~xqVi60%Fe=4i5yH+r=W&i9>oLtC@0|tQrL&jv^tGTvQE(X=dkxcYPct;cJMtlf7?l3uq1}gb8 zqm=BkZ9bnd99M&i1{F=%s9=+h&DgSH*^|py1zr*if$Z?`C_^Ok+=PGCqoEls3Zgo; zV%v(Y7gf%+4ReYi>{=P?hOqm&LzWK2*V^dtkLt8~6vP;gTlQ3P)+o*LWZ5bTo4bZ( z7OZlan?)xn7nYgqE4Y@O72L7R5pFxe4xyEx;PN;nquZrpH})`Sj>~P=xoEi44AEK` z^*%es73^g=@j71fykr!;cn0PQq9OweVL!vxN{P=4JK?!cT(#^;qgWKChBmw<3wPiZ zuJba|xQ-5VQt%~VPRS^#j%j((r6Yku460L|bZW3hT-GL^Yom=-p}v3m6Sr@5UI z*Q&xSh@M(V9(jEAL0^g7q(Eiu)o}_$(KT*ra;t6}Fa7Zl&M-6?=5-0U4{I1_(XZf~ zPF-=HVdL|FC8J4=7mF{!>~}~{2bp`Hfwf6cKhW_ZGQ{l}%P<+vyfUXccBTn2K3Q7L zvz|WE=8%qIjF3$#QkkJ8zD|jxTvkU;qM#VgK)K@1hww2aQZ^iiS|(w8Y*uiQq3?Cb zxTXc#>rOP}F(#=u&Tz0kN54ON>awey$l37;HTy(gVw@*#9!{LRa{1Pgt|Q&IB~?Dv zaRr}I=+u7|Lk@?;I#$>6V1;fBy3fmz?7;c-rPZNQ4<%K+-!iFRO_v(2DhE(M4FHBs z8N(Dq)$*jUM`azPwj5D;ZX0r6I}Etf2Jz=a=8e$nVF*^_C}Aka$JgRBvGyoE-tlI> z>MKQl)dGz+IatVdh}%=uvM`C!LBlMHIU;V_!`*Z&nL4A2YL1{Qdx)3mKwZ(G+?&^l za%BdleQO(io@J?b4O>vl1ih&x?a1Mo6N1_z>oUEJC2}jxK4}4<#zhGf_^)|F$so3ZMQ>?Qd&3A8GUx? zS)^T(-i+SC&LyzlJyAhVc@2bcm7cmUfGJGVj={hTnI~oTF9LK6EVnKo6jAOY(3NUz z=vE#>9a};;6^aJB)u@_y@-t=j?vlnY=)?nbdEnile@Jq4KTEX; z)7=D0w9>E>Cd%|vC44n#<;o(<68dFaBRN^gW!P}2YI5b0M!;KDNiImyKEQR7YowTe zrC2IZDCVCqhj}XAT`#st@^OoFWEuUt&*|9>J3|pX)BBQl}FPMDO?<~df z6rHqrirw^7|AGG(e2RUv$CqRyKvvtx-dC%P+Uvy+sF8_Bxcmo_l2yzD*=LnT$$U*` X8}JRjt(nLZfFM{Hjri^O4zd3M{HU2z literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/common/BlockedCommandMatcher.class b/build/classes/java/main/org/kilka/moderationcommands/common/BlockedCommandMatcher.class new file mode 100644 index 0000000000000000000000000000000000000000..74c289823181c4d23448281cfa193227398f995e GIT binary patch literal 1465 zcmbVM+j84f6kW%bqu5by4mLEDLg~$p>k3LKZ5&LfpCaTpRPO=G^!I~S~T)lz@mvI3(F`9+*aYfedzgz((bE0HFswG#1`jGY5F6j=@TRPhoMldK$P(RXFL1Yq{hk}% zmpxsG;uy%T3_X2Mg+_efF{ei7f3u8vl&3vE9vpk0s^fp*&`IaLD5Wr&7RsZP$R}-^ zY`K7SL>8)H+-1$lMk7>;oGAvf??waZxLtQ3IVXw}Alf8Fs=j^v&LQo_(mC9cgR~5V zt{R4pd)L#2T0M1|uIb@ruNU}r02oe>C-=8_%itFOq%UrBU#H{&cda+S_A|s;2oYVI!`3GPC{<-^e$Gp>VSXJ;|%wQ zwc^SMr6-uH86&*-EsWaM)#A&!5zc3?|A0#))VAwO>m%4Vjgs*V7V0I#_&m|9ujkf& z#C-i%yph4zSk{*_x$*4@OoP6%-!Vi2p-i+I$O;xYyGy7s-6kudp)`|JPM|!*9kiI} z3Oaa?rwlDN_^EBtR}D9C7ay<`O`OMvl;zN-k8?1WH%*kEp~96vp>I!dmTPvCoyAAg H%HZB#KXP2= literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/common/DurationFormatter.class b/build/classes/java/main/org/kilka/moderationcommands/common/DurationFormatter.class new file mode 100644 index 0000000000000000000000000000000000000000..035729ba8299e4d5144807b1fd843833d0c863ae GIT binary patch literal 2673 zcmbVOTUQfT6#hc2drVWEAJU3e2vM|))bD2SMH8{HAjNgBf;ir0P|l1bMlYuN`%aD= zPceAL2Wzk&2P7O+a0rJhI&DM&Mi52q8n+Xa5I{#1yn{}LkPS4_Gu%%w_2a7p9Hv_A zR`4#U$~NTH8Qw=#q*`Y+Yl^6%rRo;teOGjF_0=`fC9FKApa;EViki(bMBJ2A)pb{l zYVJ4#+Zw_E-j{GfK>~v-I>1RkxixKQl-Og{D1B3^nc`PUT+eVfr#5Pnr+@vb!t z^OKuke;v4P69{&?1UuytSYPKHQ8;9bQOwJWGR}$hsf_bty(i;CTA$yNaY5{#$hai- zH^|IBYC(qDAx-BarThdpM};L+utP>h&5fz1CiX7VXH97o)Q+LoYMm~c3r_Da3`JiF zWAzwVD@F`*c4u#-M?P;D@X`Jbk44u_|nsBPDx;rbZH4;gE z$gdVOlNWoa>g%gox^jssPdDbMyr`o5vudtHY4B@$mQzo%1of6>SZZ!*?gY(cyZi;! z6y;v$z%I2Hg}iZPBIgU0WVZfKwtID>9HskmcP8f!^H9ntnHfHyi2`Y?%(11>xK|7d zvZ2>7tfFPAg<)<@8QG$Y&#BrNs}0~r2w&h!2{%RKe#OwbJb^TQ)|laOr+=JY9#Auu zVa_xBRNY0cpaXt_9*rC?whkG_OsP=aRPG$Ea%#oJQ3}Kw;^S5F&SSQs;9Q74HJ3|i z7N_ti30>!AUrsF+c~QbQ3_Di&w3ew7zGHan<)YLtj$hbElhH$iz(cPJ%~_(F#h9ek z4=NG_=&RB$PAe1Kwg+Ip65+uFeZ?{8UChu|aRiVBryav(Oww0e9)s6b5^28=>1W8{ zb$3wHMw{CEs9zufZxvXB4c6#faKV5Grl1krG)YVFC^RDnXghd-oJ?}-7H_zNTG>s9X3J-=pb2 DTsEC2 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/common/DurationParser.class b/build/classes/java/main/org/kilka/moderationcommands/common/DurationParser.class new file mode 100644 index 0000000000000000000000000000000000000000..b70cac0e75d5534a99a95c1d3c4e7781ada348fc GIT binary patch literal 3278 zcmbtWYjYD-7=BKhbd#_YXhVT=X+a7Jr9|%9RIrvJEiDBKMXtI{mSkzN37ZYHc*DEm zUGV~n<0t#UFNiatBQwDGfe(K72lzYesL$C=+5|Eq1DTxNvuEG)UY_@P-#vf)^V@9z zz4#%38q_NAsPLjrVE!5HoEAxGW+E~)dPa}g0(D)6Y1lgiYD3`>KYZ{j2&k9?wIrUm zjZ|bH6Vp<?|_0Y_8Wt7riAn5SUAiUnvW?R88I+m>M_1m@V8fy{Z`>d|u4 zv?lbRj%&n#^f|P_?MaFe`~i{aAyw3PLKvSSPUQVH_)k zvR|`uxisKAmkBbJ`f$0PeS+tw|UzOP4zf(o&r5NKkeX1$z&Oj_tt@eD|OZ^Fvtvyw%9RrnXcv*=dvoQfXo5~z2SIYb-C zNK*T=5~0m$V-G1CBLdwlI}eTZcv+mL|JU)yFEIw@N<5^a>9&e2oY1~R;vv`K_f@}p$ za#deP0yvHn3Qnpxg%>NLCFV(ix#@h$HnORS-f>NK4{xZyUq;vrO~oi;#KR`?8B4PW zel*no$Yr8{J)$h!efjjLZtc#n57;x|Dqsed&tlST88)leHexd(0Tzd$;ta;NIIZT7@ZDs2I6k$tlUQtctTBxoZWZ$?$4f zqpzrV6|d1}wzaGw`*ufp8CD6oqJE>~XAgU%z`Oy&)LrNgX`@n6gYzXA(JVtg7Z*Kt z(qIv8d8nRP*?MTJPD^L3i4EKdMuSP(FgcM?LH%y%j1&Zr-BG#(0%PR z?^0k?&{WBeiEN1>`>M!477+PI2ja2p`nqDN;)y9RoXJ};eYaC!jg_?CAX$TrY(6z? z@MMwvHgo3ToJTQUU*}VVcfq@N-A#yJIH|!!Ugc{bfH!zmT>-p_xA-JvBcl{Ii$AH% z$F+OyH=q5-z3_C*gJ`q zAOcc3dtH;Kscs6#rtp&Vv(qD8V>Ip5f0uUM`)Pi8 z?>Nuy{WNMFbVjg{7V8=NJRUXYV=)@pl7m>w^>!@bnV}h7SjyeY@itcAeYD^cN?gWD zT*WH<$b;8USdHsw!wn|rE_eQpkc0LfDBS-c_q{`ZZqUlRoYnEY2k%jnhnDXZb0KFR z;1YA zK`3a8r$2yvq|o+q(7wk}{#GE5+OukhzOy<~etyql6?s3yiyk8S*%Y ztzc9@2jkd)x%6)VPe04)T?@7lldVqVTWDaV6Xlmqlx;InwiTnKd1Ck#U8&>Fukj6| z{FZtpL*11t#kf_}Ok;t9) JbFBu~{sTbmXv+Wq literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/common/KnownPlayerResolver.class b/build/classes/java/main/org/kilka/moderationcommands/common/KnownPlayerResolver.class new file mode 100644 index 0000000000000000000000000000000000000000..48a59b78400bfc04f72ae3ef5bff2f17adb44ed4 GIT binary patch literal 4155 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 KgYmnLuKxmn@^wc5 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.class b/build/classes/java/main/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.class new file mode 100644 index 0000000000000000000000000000000000000000..60173b3266d73801f609bdabfdff7fdc15a02efe GIT binary patch literal 3353 zcmd5k`a@Zb2|qu!ZKn$*Tpj(UzC+TEGCGkfoIpXc7mFTelrBY-Tvj3a^` z4N)Dv=wsNoVy#-HW4RS`c5#K51Vi5q+qK06Lr-#Kp&v2yYl!RE1)X8W^DAc6cB+5rQ zci{jIYB;3hFpe-7FWSJM*})vQ%8wP?_u@E;V;Y8Zyn^ElCnO|`jcU~vX5DF2Y}Zuz zxx`KSyU!gfrDW^GDrxSEc^V7SvthYHiM1H+aPIu0)ziw$Ae zA}}a;x!`)j@TF^MqcEAdot-yI1gTM@9LnXg9axLBEsm2orD0gdX`Ep=@^{~-P#;>p zOAav{OonbM-W7#Ulj)I#IFcCAFskDm&NC$1C(YI+&n$=OV*Oa(l)~piIg5BKKGA5>M~YygVs{j56;Dd&%ZLA*10nhRa>ZRCg?~ zt{EXAvpS~m4nxFSVn}vE7uL%bc1m#_Jf!+@R1sK#I@fT8UE|qD zC9bHf;Wlx&y`Hn(s#W1x-}n4}%pk8}R!0GM7!J2(upwx^%1H}-#q2_MF3T|3P4v=+ zG+!jmXS{|}R(cLmH8$s=116HXRp)-FbWU*lC0?U^Qz58XR4ELrBalC-bJw%BN zbs>hmgdfj0YKz>T4;KZ?UkKv z`Rn&J5LNcK#lN8e0=#HfTuU^3BK5ETb28o79{!h>(S#IINot!RUi2DNdZuhC@{MxU zMSNotMq*W-2V#cH0zd-Sr(L>Is@BHku=6U2i_}0OVEB;!67p6{_u?L!p^ic`AJJ%v zMiF|(N7und&wUT=8yZFMG5y~|wxCN|6vxnyAv~bbq0kziz@icDQ>Rigv4|3_(V6Tl z?dYX7>nV2UQ$IsbJ;Q#6udr`)4TFhS*Kpz~&OUjL)ZKIE*I{0drV``Na4CYHFg_Sv z!&PN>V+|9}5xYAWUB~28y!|9Er@uumF_&7yygY(F1iC%W;@#%+7LFsY#^Li8g&;#2 zBR7FzvOi6?;xiP~S+X3(2wlIf;XH2AU1yf83NR^zODfa}^pX8-l)>qg5!xjIjFQa& zmQYdPSXhQlCsVLkL6tz2Zw_h%g-h>4==lu;8V=}x;DY=ua#Vw-;ZraT0UBfx!7A-~ zNZ$$*a)qAql-THZ(AMxlJ00@Z4Cs=gA+7w=L%U`wdhke{_86bhGfHbId`@q1^%lby G82l4a;O)i$ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.class b/build/classes/java/main/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.class new file mode 100644 index 0000000000000000000000000000000000000000..8606b61815f274179a3993ae2d54cd3679798f5f GIT binary patch literal 13332 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/kick/KickService.class b/build/classes/java/main/org/kilka/moderationcommands/kick/KickService.class new file mode 100644 index 0000000000000000000000000000000000000000..124792943f9fc04d625f2c4b643dc7c60b7a5ee9 GIT binary patch literal 984 zcmb7DTW=CU6#k~WumzSD@j_cKt%?>}b>cI|Xh=1U*fv3V=-aSNaM&B!9fOz2K>X3jbDeP_;PfBpXP6TlG;idci?z;=;Co}n@lQ^5lf4f$z* zBt6ZLf1x6!Uou#YX0L>G6dV*?l;ARK#mSKOC%&&VmyuR_#?JyVlL^DRN>8IeMKS}P z7qEd%2Nf6BP-S?!44e{_k2Bl?{!V%RkulfXVv-U?{;c!y?ePf%?_3GlG7rAt;wEk} z*gnxR^ctN=YVObCL~$`NVJ3;>T7K5N9f#vMB1`Lvahg2`TZ_DW75IXO@jxa*t2pxF zFci@soKU8z7*YoHRfrkNT`fHSy%;ZYEOz5b;>kD4 zRH3p|tY>C48QkM2l1V!dX)03(4Tk*{CxRiDO%tA@MpJLTHINZ`lG~(l+8OP+gYRHp zGxrWj;|3huCh5*E;12GR#%QkYku=~DELuSA@DdKg7v!vq!zbTRzQlD4_64~t7`iHK zk_B2t^Aiz8Iiud2!xz*#2lUp583!xTu};S|Ji=qzi*#uN`)Iz}{sa0X B{|o>C literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/mute/MuteEnforcementListener.class b/build/classes/java/main/org/kilka/moderationcommands/mute/MuteEnforcementListener.class new file mode 100644 index 0000000000000000000000000000000000000000..d47408e28e9c766c8debc492f6f40e778357d773 GIT binary patch literal 3691 zcmbtXTUQfT7~O}9BViDX3SLmDqK1G@wbp85Z6Tu2f>HytwY7Gb9AM03CeBP~>Ai1# z>~r7y16-@pRUi5Ty84^Cy3foIqQnsF137bU-`?N#eEj|Iv%dgL;-?ha(5|6FM<@0O z^gS}yOv5qV731#GBWZ;Kd#>BA9o`UV&x|Z~VK2Hgq;zyc7r5s6D@Mt7N~Tfviqbbj z+jA|iTsGZeV3ez&G-mlT=`MS|CCkzcXY3%9uJi@E)pkMpYqli?jG5L%B^Ppv$UYst z=o8qNAkLbhwW>ttnhR6MJ=d6UJgX#&`Iv5UITD=KaR3Je_PSnZFWXAw)#f5=sust? zP?js4I?(l1-_Xvj61#i%&uy7Z0lVBNLyt7bTax1!?3baH71 zV@AgavWz#=vSfw2|D0*j<_*FtH?tc%=jurwh;r)+JO6-vJ#$rph`iGKA^Blne318E4n zs~q{Bz%T#Hf3ISb9sPI-6FTy^DWC^3%$u$y9Y-<^Ix_c_TW;aDhAAD>cwgX3Yk~h_ z#xsJWvav2OULOciZnYTE_oU_d#hjwlj|mO40!OwPWUG|^)~cm9t7mf>%_3ok()#i` zII>79=lMto^v>9>yi+YNNq^p4a=4P7@hsC>G<{pmlf{m3)ed$n<~77dRe-+mTvbj5 zE@pOF63DkRs?7oyc6XJ|x>sd&F3Uwbu&L0v%ZP~HM(T6&xgs8=dz8>qd@~(Z8$LS~ z-}ZbKcY&do9G*)~@U%8HeS2!MFwY#NuJL2WT#rLy^9g9Rsxagj_}f8~=c!piB9)#( zXj-LNv$E+{$1E=u&EXoaVV2L8S7g>aW@}+kOC5%rT2$U^Es>L(jL$9F3?0S!;Vy$` zcZka7se)H!i*(CY=`c9kxM{keULH1S6P_0ap>I}ZWw`1UgFcjAsLFBkMsN0ZqMTx{ zOyqg;GnY*( z^nAv0ce#G{PyHj3T#D6+6CoI$@w`&Cl8YON`nRTT<++RV>lImly!Fi(viaSlM~H|d zlJlnH6zotk^z~_%U2WbmgFprvz7sgJ%_fc1)9{19iRMRH#bR6FBAw92Cw2zyNUIi{ zeN$RB!O_T`m18IOJ8_4>m)>(WlU|V^7hOJ^vK@pK!embNub+4Y23! zpoA_Q!alAXzyLnvYBs))dnj;5NfEAyz7%p>^rf)di8+r2t|;UJ=W6d*_IGHb8#weQ zjtOkwwe09KoCCi`w+N_zLwFQN*}f{!{$#!hdJK#Bh~huyUJu7l_;+98Q+&pc2lza} z3=+&NF?)!4aRYDtijF4zJ10P7h zDGnBjXd@K!x)Ia|2~=$NMo@!q)FNIPjuR)Q@3TJIth0Rg9DCF8B#+a9UJ?7Up O+)MG^xA-1E;>drRlro_J literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.class b/build/classes/java/main/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.class new file mode 100644 index 0000000000000000000000000000000000000000..b5e263f184f325a6dfea10b6d4240050cbee0030 GIT binary patch literal 3965 zcmbtXTXz#x6#h<{WZE)NZGn<%F-nCdZ3!qh8!TceQt3rosESmbrqgz4G7~40LcQYs zetC20AK=C1QkPWlf#tI=KDhibx>WqmnMpc#!hPc2T=ZqC2lQ-$re<2uj1~>8IyOKT7Zv9DN`tWW@el}W7dM1Tg~OoVaIXjE!*%MS73wuK5e=y zR?Za2j5TH}*pS_TO=#0_hmJeZF0e@jUiPefX3Q$duyamvb#g(Vw|8v)+pv?*6BVP( zrb5$lOIBjrtYZtd3bZ(LB}QhtC2~@4;Wix!bkR-TSzI)UrYp2c&RL{zOnu9?;%;ej}qhd*WJc<3ad8TaYffgXX4w&Pg~t4E8)yk*V{?EMdDH`+?gNJ@9= z*o9smLD}{hx@|LOT9HPdhJGCb*e%fC*va^a1e!_Qi)C|^2-Pb)^JQ`;W$p`>xe2# z1hgfiG+|yKK$eR$a>ofBqj;P$w$=3JitR9F4Pyca8)Ls(OeTXA-GGyr&@ri$<=ErQ zmOxn=o@8RGFqOBdvh7&~5|T5EvIc0FCfN1wW0t*akTBPE+!mb1jE1LlJdI}rI@iHg zv)f!T^OWE8$jr#ph(MxV1(0j9&3INID+5cOH%iHp!NcoM&Xv8SVJ96GijhxRwr4K- z37A|kth_m&^qi!@Bw206ES}Twyp9)O2yCkpOi+fJ7@fdySQj<%)=A`0vY%RVo%6Fa9Ui+m5S}q+~io zTOFF>p1QIG9=P>k*1P6dyykG^V~I!l4A?(zO@5+ z7pbl%xcCHGs|BZ|;dOxymA;mf8J(A(|nf?(X-FF#Uy8j9`UPecH;4(VDt)%z z%QfjAp!M|+B%*7$YcQ5h#MW?cBK9pmMO0Xu7#`5gTYoz?(|`rLz-_IFL|NigFn&sr{a_SC!d5U2548tF-s70A$*e+e7T7#_`zr* z8o;M2EBFUviP*qZm_7sX3IkRmt{C|B()Dj730Vx|I7#rIQ*1l2+#c^MayiJmRWpUbLLV?A48t` uMS47d_+QXS&EN8$xtwAwiMV2Hk77*Dg?Re|5lNk|l22&mQ(B4Ovws0>h1c81~ z@>v=+442B~%2iQjXw5_}xDm;e55t*~DMQ01zW;o&Fj_?n$K7DP2_q$~i~2_shVlh% z!q5zKqHeP|RPJ7chAQpAN?|6#X`io(<@8Z68P3+6^TSD>26~?iy)`9PtA3dsso3V; zY^NI(7s*m>_;@_HEbP>>L_cL}Kn<<$JVX7?W=^VW?F}COdh4DStuQcb(9Z!SiZ)Rp ztWtJTQ~>r;1T{iWfygbw18OG{b!^k?qa8E|8FtYm{8ys>heQi|g+!YKOXz$8Rmhk3 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/mute/MuteRecord.class b/build/classes/java/main/org/kilka/moderationcommands/mute/MuteRecord.class new file mode 100644 index 0000000000000000000000000000000000000000..fa23d74600ae35f0cdd08d3526c624b9310cc6c6 GIT binary patch literal 3449 zcmb_eYgZFT7=8wlYz)h7RUk-_dO=vgh}EKvRRN`@1+;>w*o#Xt!kW!)+}%*@)n0!? z?H}lueyHaZ_1JUTZ+_^HYWvR4hHPqT;hX}qGwjTJd7k$&`^TTpegkk3-=)xmW(6@7 zaU>Wz?i%Yx#xm^H%vGLu+yX=5jA@(xS%&7J;iV*!49SXZ-mCCjA%zrL6sRg%(Za5%3NN#%k#d+(B|@c71QPOjy+$oEQV7c@V{G*K!xK zV)Lkq4rCa#7ikgO<0^WP5v$i!^vcyq6@7S}VYd{iLnuz3QgK@B@7i)dg)Gh}cvHn$ zoU2Pk8G(SfDay@akc-P2W$>hmDNHkTmy9BxrjQ%{b<0i{MS~ zP)!7RSXaZ#3{FT=E$WeTA&%|8sf)D~t9v!P#1NA#w9lG0pRbfwxVvbqSj3Aq>*Nh< z$#6~afA})yubBk)=+1({(7NCo`Qn^W4)iFvK@F+aq(pjCp3QN8%_&?lTxu&+H)JP8 z1)BHGbv_wXYqf6U>xNY!7vpzKZc%64GZbx8Ax%MU=KfJ>5vrL}Uq;~;y{u}h1wm*D zP1F%c9xgZ)H_vBGL0NmPwH+1cC_So;u4Bq^e9w1{vP9`6ahGb6$yQ-ILAzKHHI)Q4 z=kaQ1&sO_vHfVQQ+3B*?mXh5n+I9w=#u$xbG>+3aL1Usl0cwR6tSk6P)aVAop;|*T z?RBTfGm$_;LfNQ%}8F5WNm2FGtj&Q~K8 zc@?UdHY{tw^m&#beVoE4_*B7XDn7>-4Et-4+=?BSoGyeWYUc@>=@z1uCN7*{rkf?0>0SwDx>bUiZV#GOYKn1OA?bGk){bT<^w!Xy zfQ@L%Q|!7vsG)&3@&j6b#lf4};U_rqyFRiB zT_4@Vm_D|NV|qHaiQ{@YzKIihI55#Slb57}Sj08@k6aA^vtT743mOb@osxdB60l>zN&t@sD*-)$C0h4` z{YB~(1)75E3bNI|euegcn>5l1Bp(1BGZ1QXXv!Rn$!v1 z?7zuNM9D1%lN9t7(m-De$cLH)Lg8ebf}+0+MLbkP*V+~dQQ@)e3HLMxfnBw7QGx@|52E%wf$g!!a~l#Hssw7egF?|xZ+1h#(mYa`#kD`y zG@l4m;#3E`J&uLuK7r#Y>0jSnZt&~R7ofG~(vl}C^Q`QuRD1kZgxN$tgL;z9ZxJA{ zj(GXhg}q-VHK^n38E0B;A6W-^-NR4w CJpz*e literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/mute/MuteService.class b/build/classes/java/main/org/kilka/moderationcommands/mute/MuteService.class new file mode 100644 index 0000000000000000000000000000000000000000..b915e4843b4dee3d1007a46fbb1e2da1ae925d52 GIT binary patch literal 3794 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 T;xzX)t^bxdd`Dvcgx3E6ipEXz literal 0 HcmV?d00001 diff --git a/build/classes/java/main/org/kilka/moderationcommands/mute/YamlMuteRepository.class b/build/classes/java/main/org/kilka/moderationcommands/mute/YamlMuteRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..769b3a40f7b0eeb01f5d8d4267492da04d036682 GIT binary patch literal 10776 zcmcIq34B%6o&NqWFS*IfC4|Rj5G7bZvJpf@O{g`5Aki#HLJ(Z&O>&bw^4`18w**k@ zzSga)YwOw;wAiZEkU(A9TDPigr;F_@)tPZ-oX&Li8K)LyzH{z4(HDJWVMiiVP>3ksH2 z^^~9(B?bZ}N?{64a^i#a!=do7RUdKs?YNZ;Inh2R60xHFiTX$?Y1ePIBH?!4Y_MZa zB9wIEI|ar4R?=D<3fqENZJJ^<Qv{j@2)iv9!vanM#Jj z_3c)yu@phfG%(A=Y|If%)BB{~lI=bxwzG3UP`Px%!igIxnT|41fq4QWZudFy{)Axq zgjI^%d=tmuSZZR>recruRV%N7u6GT6z!Ds9V5x~JR11PxO?1YTL9DRA=TH?(56!VwTzWbU zumrUx>aa{uXh&j68f{LV1u|2WUY46U0V}BU5i6Xssl21|<~BRwFrh?FXta}XvVoN* zPQj_PewNkjB;q5KR9JH26REa(q#~h4PBJ7TM7GMnyj|Z#*M9ONOS|b z40M~=h#o;%R)y*{jo^};K*;rG4=m@J*sPEea0WV3;jq;kwhf#|C(G`&&Poi?%L3Sf z3sh{lQ1LRsC8~Oq@jq+ALNApZOHtLQ=1S)gb(iHTc?vgCKHqP`R+NmG9Z!T3Nwxi; zi6JFtX`d5KTA^s-Y0#?LC6b^?H$+&Gr1V`s-&mFC&%K5S} z$oO}Wi8u&Xf6`8n_Y*zd^W7^)=z&yJ!?=EZ-0lzcSxK8fOku>pb`v{5Cz+eoU>-R# z#qdV-3Qo&a;}kpQhNrwe$g=09WH01J|0k4%bt;lSK7g*ojl6Gm_56D04z+Af({cr2^)$dAxeEWfo~x zZ#40F+(ZQQxiLeqJXc+l)=U8;1GnU51ClPq&A83P7gVS)LWvd?&;s}pzHHztCcdg* zlmmSiwUnVOPFD)W?G7iZ+$6|Ud54KRaTl#=_4U~?%Csz(J(ZSn^_S6ZvlC6EB6gfI z-i&)pd<|bGCj(Br#p)ZHkfJ6ps_HRtAA_n^cqUV}g`&f56b|44JZRt{6W_o$1vB&K zsXR+zitHWqDBi5_IL>UOQ|@^#%rk@8-5E2KzwJ`lrQE>7f_jzAdQ-#0p=3S1av(IA zax=f1!d1qnz}evdcB7yad+?}%@0j>59!p2;3^~OEc}zNPRZyNr3d;gD!l1VsPpFFE zd#V(0c}>5o>M6!k0#g+gbt5WrI8il!uZb~?b5~~T)+lY2PM2AtWP?{cv?`mk=BjHoOsgiuXN&-kx(MR^iZklpTx4Ak#J=`Yy0r5 z3aQUc2+qFOB27sud~jXQ9^v_5lWnsmeQ&}!X1k78$pRG66&I?5>yKNa}$4ozhnUNVnb*8q2Lgn9(FQPDI_t#m;0N%#m8Tfk>|A2SWp)NPc zagUf4SH($Pt{Iw#taukgpdIbA({U|#Sz|GNPczy(VhoZA5>oK_XA^(GzmPn!kQP3# zQqJglk~FFY`Zwhn|1NMmMzVF!WOE(?H9#zWyr-}cf} zYBJd%3h=Ip|5b9&jab7rJ&e`CrciQ-ce+eZ7D;PWT*E4(oArKXLJ)qu8^Assq^g7^L3OUpJniQ2*gX_?wyPZ6NGZi91%~)3sBo>D z^faItAnid_p3GU=nwwO;aTS2YFr`>ZSVtsOHb4Hu$)>f{6Qn`k4WdY048{2ZVQ=?4 ztPRp#^y3T@Z>h%;_i>gfvxOa9u?t|;_{>h{gFLGd*K(986}nVUIo39Q|8=5Y@T+#{KZO`DpRVJFs1Z0#gA%Lg6zz- zq;;k&lX{|=zUhQV=-hejU%ngW@2!k|f+;JMV$Fm#Vt0GWEs>MtWJ6Y(a*D8hTbNN! zA43IE!Qz^ozZLISp@Yv9y>Mgq+O3>B&xNESl%DKOqM{onRX3e6JDRC(WR)qO78Y-% z+v98vUDgHLr_^c=^c8_j06R4OiM3Cb_SC93)YneR9Zs?eEazqC;T|il`!H|NpBxI&H&-482b0h5$VVV!&4eMt>6U}8-P)OXqYAuGwBJ3wn$Y&T z;%nICMfBX7F>}I1j8D`Yb5PXTPP*=kygd}^8KBvk9fowSnYDgtP)4u5VOq-5QpnTx z#2O@z+*B;DIx@=2va_B+9BgbzMU_f29;|erSYb;?EbU}lPrDtO z6`idnHUHeCNFCwZ{f2yrWk42+6UhnANtbz_V94~x^wC1SD`zI#eMFKX*Tspb6-x{` z1ZxqyBV8#@OY$(>iCgiVYnjZmb=@b%uY!5Ou+n#-ZbDf4hOJ0%zqKeA!i$y*)=Y)2 zBa1uAH3D5uD&A+i;>?{K?3XEfF#@l4oMa*yw_@#fa>(gVl%r>QkvznfSH5A&*W~Nv z@~w~I)mzGO?DRskm&+r9GmbPSF~m*vZi6G|M<|FDp4&mN^Y57M?vBvdrzy zWj_%m%e?+vcxuGCnGU^Jo@JDhWnRC+R=QYzKn%#TWF%HBKVnD7=*4ir112vjR9Z>z zfQh7kOvh^XPMvrF)yq&nTsaW3!~KOYeYlQ5og%0Z__ZN zb*%x-F(FtQ$$fg&Q=CpC-Xa$a>sa&ijB!z$;|!-_jX4p;tHW|e@)mY8aOX}x{Fg4t z4_}+x#(Fz9Tj6jQJBUWA%{Y$s;W;emsCxmyy4q1JybFQ4F)ZGNqA}Dw#)$=@$g3~oz(SPa zI8CLgiXz*9~$8nnAE;OmT&xqoPbAZ zSxRn{Fol}Iw63?xcG;nY-s%bM!v(T4BlKMO-$#%_8)!IyCf>XUAOCssUyOxviCpT* ze;pB|+NLG@v1PN;z+Rl+UQ4msX{D_N*i=n%`>JcRz;G=yM>BOYHM|l>@k8=4I2DVj zE(MNCcgKvCmS`d98^r482qvFg##tss&?C~z5d|DSEwhc*9+t~J?jG{ETj9ZGz=yk0 zSgQw?6BzaHQTu5O9m^9hP|eeDI=@| z%I8>*XpR-W3Lw*SS(hv1Nfwt;T+KejK&T~sbd`(M-DN(0E4gYM zH~5IOn>*^pajQ_=g>|)?$MD5X`*6FOb+-?BCaF`RGhM*#ub|YSB*1 zbWr9_9{aB+#LmH1bZMzwZ?ZB{TN+NvDjQv?xw1;GlB+3_vY2vu{Z7g6y}QQqG)9;A zvDHwxyE&^74|3OXI)6ywYR2~(*__TseIAW!6g-W4$8f)Pm~TC{AGeV>D zEf~e)HNhu+qZswyhiUt`MT1dc1m76LZySnv^H=Jogg0-hn*eYAnm1$k+lEr!|Km9R z$%h8B!X#DMh2jcRy_!~6QM4ZmHdho?6jzi~1S(1^rtQVQYWGngqpYIr1iVuJE{{G1`ag^`{jaY_r8Jo|e zGo4Q}Uw{?35UcnbfM)dKO!U$C1L(paSBG#Jw()E6Fm6MbA5J59fM4hzg+s8#@DeV< zJN$h92aMn#E+)kt;^#;7*|eu*SgK2Z{2c$t###4f*1G2&$-> zlkz;cf0<13HxwS+=TS6f7@6sTyS+B}q<>6gREij4)9FUJyG}Nj@y5$F%s`C83Nk{+ zZYU&T_em*%!r^8v*UwD#e3ohHXL^=;E>A!6Hx}x7=BUi&kh-16WTlrL)tv zL)SG7TGtZY*AcDP^XUeD!M_pr;U+wYTlh`;Ry;*CzRn*Pyvbh_{Esl;r1}Sw!DgHRfif1EI{6+lepLER<^W`AB0>?jV8-NTo&Y zjD10BsYKS%b30Dvy2l+#vLJcAYM_vJ6sR zR=w<(^s?Xl>Y8y`?}LhVGgQE+*(c|?F{CzISh%IyeH8S5viAT5cu0%xX5;yC2c1X# zH(&0i5-1!+zg{_%X1f@20Q2YvX`Yys0_roW$IDerW~xr8A}=Zmw%5LZ01>d^F3eRd zRgcR?mDJ?iLol|R1RussJi>UjCx@{r&4gmCD#O@9xrZ#ejFqSoj=wQnH#5swc|di$ zRJcmC?esQPC6?8&fL+K$;@<^-fy)1GrBb9!gtIkCw`?ubd5(h&KdQWP4Oa-Cc?LUw zxtA||a-ZDKzrCFD0>>VZ2j!dkZkOzqhxOgJFX2v`lP;&>g$-k?$g)r d>+3W6`kcQ0P+y;yUyx3KyZlmqEx$p<{{dS*s`LN= literal 0 HcmV?d00001 diff --git a/build/classes/java/test/org/kilka/moderationcommands/common/ActorReasonParserTest.class b/build/classes/java/test/org/kilka/moderationcommands/common/ActorReasonParserTest.class new file mode 100644 index 0000000000000000000000000000000000000000..eaf7ef4273bfaec23b3e288beeeaf482f63a43de GIT binary patch literal 3856 zcmbtWYgZFT7=9)RWR0t#Yehk9vBgSIh+6Ma+X&cFgII!C>~%>-vas2WdqHTewPLHi z+WX~Sv^~{w?Dca`KZHNj(|2~4uoSdN4=3!*?Cg7ap67jM{`~vyZvcAnZ2}QQ_i-mx@eOu|Nny1c_Dxr9v&kv$~|O$^f9_3F=aGu0m@Y+*>M zBG)7RJ{G1WVJmH|{vhE|vGqpvySZ!C+amvMG9JU@WYUYBq1=8xw}80sGxOrorM~m2 z)g{>$qJa|L&akEyW&%6V9!E+>2X-=KSA}BO0p;Z(!SHZn%^55)Lsa)nAFEt8+7RH>vD<1(JY(`1lO@q+7chEn_L7!~5r_-a@R-UZhv2$$(z&y6~&^NfJ~ zgp6+V)BqhSS>`1IG#>`ETPL(LUQjDD9H!W_=(&?{lA*DptJB=-^yJWa!L&xTVv!pO zWbmwvJ^_EC%xzm8;69o0e3EU5ahYH4B~EXJIYMq=@$@xX20(gU%MSW&R)Cx} zii5mtPI9}?Icb??|G4l<({^?0@!hMdk#JMW5FWKswBs-sHY~K<+8c(ZLDz7!G9T7# zjgrqAhUs{POu4t*qb!2tT3nmYCw8vH4KKMqJ3DG~gRi%36*%s3E4o%t9p10%RE%X_B;@;jQPY<$ zrxYbVRiPkxQK(=6prCd{^;u(Xnew5%8a0L4MKIEMbRH?KJ6Xd9rI;m~x2hqtf% zrSJ0o--g?NV7Xh>^*o*ABt5y$Fu3KNDMDRqLx9KeCByb52rZXv9A7g$a{sN=E_`Ir zN|Z$Cuq6eH>m`jO`q90XR*K>fMwCWCL&r~G9X}&J@)OqFM&f%~i-6OAaT^w2#jpk! zXe9glF@_S&0F7)#JzFz$n-hDxJAOnWrZhCv{|aR!syv(@i7Acwkve5_exzP$&X2^E zmi&mMJd&@A-9c+kY1?@RPt0PMvX=(?Xt3a3A;-Wvx*u)CVKm|dHhEz*`mTa7c4Gs^ zF+ri}v^z%6GE5qYG%NH3F4n>{f-t*+FzZ559?Zx5hz`$3bnqS#ZNU~ijyC%1#P(1` zT|q=!{xc$rB8qsxou#J$u1U#s+{H0q7TG`Oa8Y{6`7?{)SWj33DPnRDHe+wdaZ}(p zNsQTWDDlMrxHWgTJXnCU9m;b7ML9vyX+hDMeDn^Ur#AsCXT_U;FP;l8j>LQboAU(S z^9#&1lFUH&%4Qry8i&wB{0-qqNJM9Yki&sS#QlYW7vh{GCWVa_!e!UiyLfRPnIo~C zP2_AjXpWK4dx)D}&(A*p`@j!bBAb`Ux)@Di+C#ksuj37ZRSAHLHAF-U3%Kd`bOR&< zwd{>>M16 ziqFuyEN$tpGW4V~ z{mPMWHN?n|<<&IA8A6uOFhHcj^Mvh7ZhA|uXqcb+FofX<5^;=Rl%YQm)%2xllmsaX zIfo3J>EcDLx&N_b+K2vn%f%4ExQc#)A<^-9wwWnMk;3%|Zp1N(n+z*g4t-B}Bt2ra z6Ty%xUfESn!!%{hpgig&U$lgNBuvv$k=%;oHtsM)rPnC{!&rBwO1>-YS}wC6!z}Jb za4(KDG7P#>bKIm#)4L&k;TpUljXYJxRps>NPAdj2ag0@|x)Or<6X9twO!? zi~=<%_J$s`)C-0|m6Qgr)OA;w4zH5X0<|b@6iLo@(>f6D9zQV2k|;VAZkD+#)py4j z_Kzfmx_0&As5<8uj04sG-mb}|UErR0V^fQJ(w8lfx2xNn;v|`8^Ff@cw@sP>OO&N2 zNl@Ol9Y2^X+M5jY{9B$5*>u$r-nQchQr7< zolWIyPK^|F>iG~|50oR-^@Mupq5FX>i-a}<1f;SjVA&styh}tAeTn{444z=@E0Uk- zPzX!(R@Vy=z^xQ{SMUVkW@ZF8rVi&$aP6 z**Iwg28d)3NxDL2FpPPM;hcD(L%c@kR5UMX1@dPi-giXI2E_9L!J_~_?ZVI7_?$RF a@d4vRJVC@sB2IOY&R#;wuugx3Q1}C~v}y_f literal 0 HcmV?d00001 diff --git a/build/classes/java/test/org/kilka/moderationcommands/common/DurationParserTest.class b/build/classes/java/test/org/kilka/moderationcommands/common/DurationParserTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9f900fb3eb419740bc63261c10235dbd8976ef02 GIT binary patch literal 2189 zcmbVNT~iZR7=BJZ*d?rpE22?Rs!{_~6TZPHZHhsld_+Q{!M3s_D>;yC;_e2;erQ{J z*_r-^&eUGF(<0MOonH4}wAcLsy|R7J*&tAGrZ$;u&OUq2`#$e;p7ZW+&wqLbAc-$R z@WHPjpdpAlhNcx`&4?BaYdJc*v|{F5hPun#;_e88Khlv=pfdE7?d9kyFRmKVQaNwh zhRe%Vu3Rb^R^Ew4bT)E(9np33u(QoIZ_BDh@OFx(kBa5e+Rk$`F*H86uIXZ6(sK&8_8lhX++%UX0FGM9oGq9zqz$ z6`as;60HonT(xToLqpk479DfGV3+SPG)HQIcBmXzaQZ(AlB!zVDU?jh-BLJ&Q+Q3o z8JuNM95Yv@U68vq8A3Z=S8!fK1RV@*Lah~A@6xrxUDJ*l6&_7Ev_YaATBRBCCV97N z6zMh?nVjs%c#5&>k5pU`ise0^{t^M*1Ps=I^It+mKc()Cc?kQxm!=GhHS0Cmv7q7# zO&N}*RlLbipGwY6CuWi}^P-G|hPN?FXvMV2O;n^TWI+^?)G&r?3?Yx=yj?XJ0+9t_ z%86ah_4Z4}JCrz9P%%wGE_BmimIhs7aGh2b%2iuMT9CW1;#~$Je}f@B{E`p(B#f+v z1wl~ZPO?;S*9Ecn1hMxSS|SVkm?op*Hf{QFPfu^}U{9=fV5q-uaIk+UHn^_B5ZRr2 z;0}DBBtw!8e#p&5n+fqNCId7!FQx%bcl}mP~uzSSk{t zPnB~Tj1odq5pA&MHh%Ow9B*V%$awq+&1$GD}T+js2dge12eyMI4DJU zu4)O%GTh;mKVeyASGFvAc2cI_dnRfrI&4!kL1)5Rqp}kt5Z3@jTBDKX&Bs05r#oPsV)C2sqQql+@E(cx?ZF2mKC}nFB=O7t!X-Ge1AJ=}SGOxXLuVbN%`r3~hC>)9trl^Z z>TAYVID&8JJZ)G0q*nO@S|e2akp6*>Ua0VtR1ocLu}S#_<5|Bxna&3EsdP4|&!n?; zdMce&^tp6a)#uaMraC>7p6Ysb#Xr(|@@t&#YVElc5Ol)eMpU9nGtg(Mc&kn%%98m?282gKi zvb&(qUKDhrW|4MDVDWn_ZJ@A$)lFDi$lWbuhpLUV4D=q-aTe$3yRBgRJ_<5?PP2V@ F{0}484SE0o literal 0 HcmV?d00001 diff --git a/build/classes/java/test/org/kilka/moderationcommands/config/DefaultConfigTest.class b/build/classes/java/test/org/kilka/moderationcommands/config/DefaultConfigTest.class new file mode 100644 index 0000000000000000000000000000000000000000..962bfdf556317a5799a90b092b4db667f8969cea GIT binary patch literal 4401 zcmcIn`Bxj)75*L&B+Fx)j1$LpY)letBS;t=+lgDbPBF#}t#DF=mEyKe2k9Zk8qLVF zfa$(u>7MTUzPIU;q%9_PPfvgD>EG1T@6C*0K*ZpllOJF-Z@KTg-~H~rZ~pz?TmJ+w zj(_CPfzAxNG~9!3fu3vTf@#>MQ!}2Ky(TMxK=)b8v4V2~odfxD23dgv(IU$=CY)v% zlmbthjVWnXrKharH0*>XkgdsJ%r<>rVDCV_xMnySEab2odot+Ja4&R$Jsai)cDMEy zU1gfbwp)p(3R&DIkgK@PoK+iMYS=mK!vh)Y*Khy_1@7NqyJc`MPneRv8+sKv>c@Tv zt`nS%F1oPdW89_gx;c=X#P-kto zQkP^XhDyR(x(ox$HVBk@Jk4}z__ZvaB;Y{Wb{6jt5Q|w91Tu^Bmfw_K7Vn}WJlV9D zvUrNq92phpXvm!y!-WjSHC)7d1a?KrYMJK>cTV7yv`*t>Eu@tDwvQw^(Lz;Fm?t#6 z7w;3;NvQ><<@lqvtr9oJ6)hceZJTw43M}NWa#89bxmS-fAMPif*>$a2H~O)HR| zVKyye)c2*Qb};%m78Jfrd!Zz=16P#bhfvZmjmr$qoU-jYa@;XzZAqE1Xz`RGJg4CU zYK6AoT9wvx7FW0@8ez%?!wia9SF1my;lsGvntN7y4a@flK;XVsu%jB8ln3R;M>Lq2 z!6YueDMJZp_S&pk3BpBIF)+K@JRswI!-9+H+1kQy{#JDj%@41Uiqf*#x z+LrXF>`BaPuy9R4kC9(+rGLo{qNM`kF^apfnXdJT3RO|+%%Z_s+z10XoaE4Bt$g1J z7tIW=E4{PQ?_Se;(elYf|0XP^^`}W(UuI9MEW9$Wbko;hu6Bw1SMTF?NP55Hl!1b->Ar@(yI=EPipuSKFy?;H)Msr z3tW900y`cVSDKGP`dJO1!waiojABVKmeMrFZ8$2TcZhDva5}D$#pt*UUSglxRxy{p zZ`NcQz^Sbm*`${9D)J?P)7v@tf}Ar$JBXXXv{ZuX8e?Z+V2hR` zFNKX+=}jwdm;^<)V%lZXv($Ss*cGr~3p^Q-wN?LUJB=0pbTtiuK%(L}C9j8;x7JEV zood;%t?Fb<6i?j6I?6lEYHvQVMbB$53A~3f6_VC@W?K%lH(h#gU@CM1t0BvlZ;_Z$ z$8m$GWfSG0w-Aw{np@9AspQlqoIuv%KHuu*mwkEOtkf5INAlTFo3u#d34^qJ*puoK z>Q6WeikPyh-RWw4%r+adRkQz&%lb#Qp|E!5@@00L)l~K~_z5qvYdOD~0Rra|6#rL{ z6}sA1`ricI_CmQXl(AHM?5yKdkIp4ps~!Mt1bd+_UxtuLwU zd%E%49KML(Y4|CA)`LIrX2%w}owQ73p45Xv54vgWPs-SzHT(cS3$Y^Lu{?X6L=P`L^;57^ZYeP(uY#`MiP8k zu88sN=jzSyeSa07O>`=p1DoN~7xg9L)IUZJKcP7MOp3#OWKV@XixJ{FLFP{4I8H@) z_Qf_=@$@BlQY`i4R3azwA0cx}C*6aLa_Wp&JttG@>5eP`KjP{x?)fq8u(~96PSP7? zXUA>4I71=6{2E`vey*Orb3}B<51sf~^|1>F7n8Ve6`MhApl81xJY{wQHqBN4X^W z7*b6us7gD#*sxOAiCr2V)6tLJ3_DiIZVB8@8m5Kk1g39MI4EsYhHZhqs?s~#Eiaxh1+^yuJJw;-})zbKlvkbc<9i7ZE69q=Y zlPVnt7*58vtWx~&%b9Wthj3WK5gmibFc^+oHRghPUHXRU*f(W0aJerX+qfw$Va)J` zmG2}o^jZ|}RkVEDjwsO-kw+9v(RvC;H5}8Cg~4!E-LFfl&W(mc`3;RSokoK~=EbHO zSHhHD6rSnIrti2V;SnN}`OA}&qf-})gx4q(fiEqiAU!{~2`6w;!_zvR!6^b!n3I)b zx+{I9%OO1NY~d+9o`~rr;SA1dcviP!^9`m@plYWg>9zn<_;2eH9Dnk`9P}5+@ zD+pZDF`*>(5XPgk6kb9>!=#QWTxJ+h@t+Tmdn%F4O05dTjhk;ap)f*V_CI-V%iM3Fbd72!6d=P3~6Yr?FH z%7w+T1z`qMHl$IDFDbj)oi+A@(pOn2SB4Xh+$I<{Q`U~6gmjdd zK|8>v(?odrcXZPqnEeUb%+L~gmasX!eF;16V9#CbU#7ahgQ0sk&Mh-~#(^cgu#6Yg=8D?9yo{^g|NWb?s0+%XA*5*RCDYUNannm~?Zj#9 zLY_Wx#%Z3w9+a^UGxRN@tRA3yr)hN13|*d$?ca^_xCNK|^N4E;5`W@=hC>?8{DD*O ziKcuHXinnxN|-XFSN(d^GwJK;*U~rAd>Q7C7*YnZ(7-5Un@QQ5L`z@+i!}Gq{sZE8 WD;(bm$M^6Vour8RIljc#=>G>eOZu_^ literal 0 HcmV?d00001 diff --git a/build/classes/java/test/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.class b/build/classes/java/test/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c7dedf3240b140e93cfc794b8fa2f7a3fb02148e GIT binary patch literal 7173 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 literal 0 HcmV?d00001 diff --git a/build/libs/ModerationCommands-1.1.jar b/build/libs/ModerationCommands-1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..04d192f485e982b42e3e8f500a09e2ec53af1b09 GIT binary patch literal 72000 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 literal 0 HcmV?d00001 diff --git a/build/reports/configuration-cache/5lz7xass8vt3nd0p8lgom6m2w/b9pynk8jrupvz034nkm3gtsz3/configuration-cache-report.html b/build/reports/configuration-cache/5lz7xass8vt3nd0p8lgom6m2w/b9pynk8jrupvz034nkm3gtsz3/configuration-cache-report.html new file mode 100644 index 0000000..085260c --- /dev/null +++ b/build/reports/configuration-cache/5lz7xass8vt3nd0p8lgom6m2w/b9pynk8jrupvz034nkm3gtsz3/configuration-cache-report.html @@ -0,0 +1,666 @@ + + + + + + + + + + + + + Gradle Configuration Cache + + + +
+ +
+ Loading... +
+ + + + + + diff --git a/build/reports/configuration-cache/8j33gttysi79ilkcujngqbuh9/dplfaitbc5codclcbpo64nxdk/configuration-cache-report.html b/build/reports/configuration-cache/8j33gttysi79ilkcujngqbuh9/dplfaitbc5codclcbpo64nxdk/configuration-cache-report.html new file mode 100644 index 0000000..f41fd4c --- /dev/null +++ b/build/reports/configuration-cache/8j33gttysi79ilkcujngqbuh9/dplfaitbc5codclcbpo64nxdk/configuration-cache-report.html @@ -0,0 +1,666 @@ + + + + + + + + + + + + + Gradle Configuration Cache + + + +
+ +
+ Loading... +
+ + + + + + diff --git a/build/reports/tests/test/css/base-style.css b/build/reports/tests/test/css/base-style.css new file mode 100644 index 0000000..d25afaf --- /dev/null +++ b/build/reports/tests/test/css/base-style.css @@ -0,0 +1,197 @@ + +body { + margin: 0; + padding: 0; + font-family: sans-serif; + font-size: 12pt; +} + +body, a, a:visited { + color: #303030; +} + +#content { + padding: 30px 50px; +} + +#content h1 { + font-size: 160%; + margin-bottom: 10px; +} + +#footer { + margin-top: 100px; + font-size: 80%; + white-space: nowrap; +} + +#footer, #footer a { + color: #a0a0a0; +} + +#line-wrapping-toggle { + vertical-align: middle; +} + +#label-for-line-wrapping-toggle { + vertical-align: middle; +} + +ul { + margin-left: 0; +} + +h1, h2, h3 { + white-space: nowrap; +} + +h2 { + font-size: 120%; +} + +.tab-container .tab-container { + margin-left: 8px; +} + +ul.tabLinks { + padding: 0; + margin-bottom: 0; + overflow: auto; + min-width: 800px; + width: auto; + border-bottom: solid 1px #aaa; +} + +ul.tabLinks li { + float: left; + height: 100%; + list-style: none; + padding: 5px 10px; + border-radius: 7px 7px 0 0; + border: solid 1px transparent; + border-bottom: none; + margin-right: 6px; + background-color: #f0f0f0; + cursor: pointer; +} + +ul.tabLinks li.deselected > a { + color: #6d6d6d; +} + +ul.tabLinks li:hover { + background-color: #fafafa; +} + +ul.tabLinks li.selected { + background-color: #c5f0f5; + border-color: #aaa; +} + +ul.tabLinks a { + font-size: 120%; + display: block; + outline: none; + text-decoration: none; + margin: 0; + padding: 0; +} + +ul.tabLinks li h2 { + margin: 0; + padding: 0; +} + +div.tab { +} + +div.selected { + display: block; +} + +div.deselected { + display: none; +} + +div.tab table { + min-width: 350px; + width: auto; + border-collapse: collapse; +} + +div.tab th, div.tab table { + border-bottom: solid 1px #d0d0d0; +} + +div.tab th { + text-align: left; + white-space: nowrap; + padding-left: 6em; +} + +div.tab th:first-child { + padding-left: 0; +} + +div.tab td { + white-space: nowrap; + padding-left: 6em; + padding-top: 5px; + padding-bottom: 5px; +} + +div.tab td:first-child { + padding-left: 0; +} + +div.tab td.numeric, div.tab th.numeric { + text-align: right; +} + +span.code { + display: block; + margin-top: 0; + margin-bottom: 1em; + position: relative; +} + +span.code pre { + font-size: 11pt; + padding: 10px; + margin: 0; + background-color: #f7f7f7; + border: solid 1px #d0d0d0; + min-width: 700px; + width: auto; + overflow: auto; +} + +span.wrapped pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: break-all; +} + +label.hidden { + display: none; +} + +th.sortable-header { + cursor: pointer; + user-select: none; +} + +th.sortable-header::after { + content: " \2195"; + color: #b0b0b0; +} + +th.sortable-header[data-sort-dir="asc"]::after { + content: " \25B2"; + color: inherit; +} + +th.sortable-header[data-sort-dir="desc"]::after { + content: " \25BC"; + color: inherit; +} diff --git a/build/reports/tests/test/css/style.css b/build/reports/tests/test/css/style.css new file mode 100644 index 0000000..0c644cb --- /dev/null +++ b/build/reports/tests/test/css/style.css @@ -0,0 +1,150 @@ +.summary { + margin-top: 30px; + margin-bottom: 40px; +} + +.summary table { + border-collapse: collapse; +} + +.summary td { + vertical-align: top; +} + +div.tab table.test-results td { + padding-left: 1em; +} + +div.tab table.test-results th { + padding-top: 0.5em; + padding-left: 1em; +} + +.breadcrumbs, .breadcrumbs a { + color: #606060; +} + +.infoBox { + width: 110px; + padding-top: 15px; + padding-bottom: 15px; + text-align: center; +} + +.infoBox p { + margin: 0; +} + +.counter, .percent { + font-size: 120%; + font-weight: bold; + margin-bottom: 8px; +} + +.duration { + width: 125px; +} + +.successRate, .summaryGroup { + border: solid 2px #d0d0d0; + -moz-border-radius: 10px; + border-radius: 10px; +} + +.successRate { + width: 140px; + margin-left: 35px; +} + +.successRate .percent { + font-size: 180%; +} + +.success, .success a { + color: #008000; +} + +div.success, .successRate.success { + background-color: #bbd9bb; + border-color: #008000; +} + +.failures, .failures a { + color: #b60808; +} + +.skipped, .skipped a { + color: #c09853; +} + +div.failures, .successRate.failures { + background-color: #ecdada; + border-color: #b60808; +} + +ul.linkList { + padding-left: 0; +} + +ul.linkList li { + list-style: none; + margin-bottom: 5px; +} + +div.metadata td:first-child { + padding-left: 5px; +} + +div.metadata td { + padding-left: 5px; +} + +.metadata tr.odd { + background-color: #f7f7f7; + border: solid 1px #d0d0d0; +} + +.metadata tr.even { + border: solid 1px #d0d0d0; +} + +.metadata th, .metadata td { + padding: 5px; + text-align: left; +} + +.metadata a { + color: blue; +} + +.metadata .unrenderable { + color: darkred; +} + +.clipboard-copy-btn { + position: absolute; + top: 8px; + right: 8px; + padding: 4px 8px; + font-size: 0.9em; + cursor: pointer; +} + +.successGroup::before { + content: "\23FA"; + margin-right: 8px; + color: #008000; + display: inline-block; +} +.failureGroup::before { + content: "\2297"; + margin-right: 8px; + color: #b60808; + display: inline-block; +} +.skippedGroup::before { + content: "\2296"; + margin-right: 8px; + color: #c09853; + display: inline-block; +} diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html new file mode 100644 index 0000000..5e227a7 --- /dev/null +++ b/build/reports/tests/test/index.html @@ -0,0 +1,184 @@ + + + + + +Test results - All Results + + + + + +
+ + diff --git a/build/reports/tests/test/js/report.js b/build/reports/tests/test/js/report.js new file mode 100644 index 0000000..a3f7193 --- /dev/null +++ b/build/reports/tests/test/js/report.js @@ -0,0 +1,285 @@ +(function (window, document) { + "use strict"; + + function changeElementClass(element, classValue) { + if (element.getAttribute("className")) { + element.setAttribute("className", classValue); + } else { + element.setAttribute("class", classValue); + } + } + + function getClassAttribute(element) { + if (element.getAttribute("className")) { + return element.getAttribute("className"); + } else { + return element.getAttribute("class"); + } + } + + function addClass(element, classValue) { + changeElementClass(element, getClassAttribute(element) + " " + classValue); + } + + function removeClass(element, classValue) { + changeElementClass(element, getClassAttribute(element).replace(classValue, "")); + } + + function getCheckBox() { + return document.getElementById("line-wrapping-toggle"); + } + + function getLabelForCheckBox() { + return document.getElementById("label-for-line-wrapping-toggle"); + } + + function findCodeBlocks() { + const codeBlocks = []; + const tabContainers = getTabContainers(); + for (let i = 0; i < tabContainers.length; i++) { + const spans = tabContainers[i].getElementsByTagName("span"); + for (let i = 0; i < spans.length; ++i) { + if (spans[i].className.indexOf("code") >= 0) { + codeBlocks.push(spans[i]); + } + } + } + return codeBlocks; + } + + function forAllCodeBlocks(operation) { + const codeBlocks = findCodeBlocks(); + + for (let i = 0; i < codeBlocks.length; ++i) { + operation(codeBlocks[i], "wrapped"); + } + } + + function toggleLineWrapping() { + const checkBox = getCheckBox(); + + if (checkBox.checked) { + forAllCodeBlocks(addClass); + } else { + forAllCodeBlocks(removeClass); + } + } + + function initClipboardCopyButton() { + document.querySelectorAll(".clipboard-copy-btn").forEach((button) => { + const copyElementId = button.getAttribute("data-copy-element-id"); + const elementWithCodeToSelect = document.getElementById(copyElementId); + + button.addEventListener("click", () => { + const text = elementWithCodeToSelect.innerText.trim(); + navigator.clipboard + .writeText(text) + .then(() => { + button.textContent = "Copied!"; + setTimeout(() => { + button.textContent = "Copy"; + }, 1500); + }) + .catch((err) => { + alert("Failed to copy to the clipboard: '" + err.message + "'. Check JavaScript console for more details.") + console.warn("Failed to copy to the clipboard", err); + }); + }); + }); + } + + function initControls() { + if (findCodeBlocks().length > 0) { + const checkBox = getCheckBox(); + const label = getLabelForCheckBox(); + + checkBox.onclick = toggleLineWrapping; + checkBox.checked = false; + + removeClass(label, "hidden"); + } + + initClipboardCopyButton() + } + + class TabManager { + baseId; + tabs; + titles; + headers; + + constructor(baseId, tabs, titles, headers) { + this.baseId = baseId; + this.tabs = tabs; + this.titles = titles; + this.headers = headers; + this.init(); + } + + init() { + for (let i = 0; i < this.headers.length; i++) { + const header = this.headers[i]; + header.onclick = () => { + this.select(i); + return false; + }; + } + } + + select(i) { + this.deselectAll(); + + changeElementClass(this.tabs[i], "tab selected"); + changeElementClass(this.headers[i], "selected"); + } + + deselectAll() { + for (let i = 0; i < this.tabs.length; i++) { + changeElementClass(this.tabs[i], "tab deselected"); + changeElementClass(this.headers[i], "deselected"); + } + } + } + + function getTabContainers() { + const tabContainers = Array.from(document.getElementsByClassName("tab-container")); + + // Used by existing TabbedPageRenderer users, which have not adjusted to use TabsRenderer yet. + const legacyContainer = document.getElementById("tabs"); + if (legacyContainer) { + tabContainers.push(legacyContainer); + } + + return tabContainers; + } + + function initTabs() { + let tabGroups = 0; + + function createTab(num, container) { + const tabElems = findTabs(container); + const tabManager = new TabManager("tabs" + num, tabElems, findTitles(tabElems), findHeaders(container)); + tabManager.select(0); + } + + const tabContainers = getTabContainers(); + + for (let i = 0; i < tabContainers.length; i++) { + createTab(tabGroups, tabContainers[i]); + tabGroups++; + } + + return true; + } + + function findTabs(container) { + return findChildElements(container, "DIV", "tab"); + } + + function findHeaders(container) { + const owner = findChildElements(container, "UL", "tabLinks"); + return findChildElements(owner[0], "LI", null); + } + + function findTitles(tabs) { + const titles = []; + + for (let i = 0; i < tabs.length; i++) { + const tab = tabs[i]; + const header = findChildElements(tab, "H2", null)[0]; + + header.parentNode.removeChild(header); + + if (header.innerText) { + titles.push(header.innerText); + } else { + titles.push(header.textContent); + } + } + + return titles; + } + + function findChildElements(container, name, targetClass) { + const elements = []; + const children = container.childNodes; + + for (let i = 0; i < children.length; i++) { + const child = children.item(i); + + if (child.nodeType === 1 && child.nodeName === name) { + if (targetClass && child.className.indexOf(targetClass) < 0) { + continue; + } + + elements.push(child); + } + } + + return elements; + } + + function initTableSorting() { + document.querySelectorAll("table.sortable").forEach((table) => { + const thead = table.tHead; + if (!thead || thead.rows.length === 0) return; + const headerRow = thead.rows[0]; + const headers = Array.from(headerRow.cells); + const tbody = table.tBodies[0] || table; + const originalRows = Array.from(tbody.querySelectorAll(":scope > tr")); + + headers.forEach((th, colIndex) => { + if (th.classList.contains("no-sort")) return; + th.classList.add("sortable-header"); + th.addEventListener("click", () => { + const current = th.getAttribute("data-sort-dir"); + const firstDir = th.getAttribute("data-sort-default") === "desc" ? "desc" : "asc"; + const secondDir = firstDir === "desc" ? "asc" : "desc"; + // Cycle: none -> firstDir -> secondDir -> none + let next; + if (current === firstDir) next = secondDir; + else if (current === secondDir) next = "none"; + else next = firstDir; + + headers.forEach((h) => h.removeAttribute("data-sort-dir")); + + if (next === "none") { + originalRows.forEach((r) => tbody.appendChild(r)); + return; + } + th.setAttribute("data-sort-dir", next); + + const rows = Array.from(tbody.querySelectorAll(":scope > tr")); + const dir = next === "asc" ? 1 : -1; + rows.sort((a, b) => { + const av = getSortValue(a.cells[colIndex]); + const bv = getSortValue(b.cells[colIndex]); + if (av === bv) return 0; + // Numeric compare if both parse as numbers + const an = parseFloat(av), bn = parseFloat(bv); + if (!isNaN(an) && !isNaN(bn) && isFinite(an) && isFinite(bn) + && av.trim() !== "" && bv.trim() !== "") { + return (an - bn) * dir; + } + return av.localeCompare(bv) * dir; + }); + rows.forEach((r) => tbody.appendChild(r)); + }); + }); + }); + } + + function getSortValue(cell) { + if (!cell) return ""; + const v = cell.getAttribute("data-sort-value"); + return v !== null ? v : cell.textContent; + } + + // Entry point. + + window.onload = function() { + initTabs(); + initControls(); + initTableSorting(); + }; +} (window, window.document)); diff --git a/build/reports/tests/test/org.kilka.moderationcommands.common.ActorReasonParserTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.common.ActorReasonParserTest/index.html new file mode 100644 index 0000000..f515d8c --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.common.ActorReasonParserTest/index.html @@ -0,0 +1,146 @@ + + + + + +Test results - org.kilka.moderationcommands.common.ActorReasonParserTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

ActorReasonParserTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
4
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.134s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
extractsConsoleActorAndRemovesItFromReason()1000.005s100%
rejectsActorFromPlayerWithoutChangingTheAuthor()1000.065s100%
rejectsDuplicateMalformedAndMissingValues()1000.006s100%
usesConsoleWhenActorIsAbsent()1000.013s100%
+
+
+
+
+
+ +
+ + diff --git a/build/reports/tests/test/org.kilka.moderationcommands.common.BlockedCommandMatcherTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.common.BlockedCommandMatcherTest/index.html new file mode 100644 index 0000000..d63dbee --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.common.BlockedCommandMatcherTest/index.html @@ -0,0 +1,128 @@ + + + + + +Test results - org.kilka.moderationcommands.common.BlockedCommandMatcherTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

BlockedCommandMatcherTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
2
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.013s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
blocksPlainCaseInsensitiveAndNamespacedCommands()1000.003s100%
doesNotMatchArgumentsOrPrefixes()1000.006s100%
+
+
+
+
+
+ +
+ + diff --git a/build/reports/tests/test/org.kilka.moderationcommands.common.DurationParserTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.common.DurationParserTest/index.html new file mode 100644 index 0000000..3cf5e86 --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.common.DurationParserTest/index.html @@ -0,0 +1,137 @@ + + + + + +Test results - org.kilka.moderationcommands.common.DurationParserTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

DurationParserTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
3
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.012s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
parsesRequiredAndGeneralizedDurations()1000.002s100%
rejectsExpirationOverflow()1000.002s100%
rejectsInvalidValuesAndArithmeticOverflow()1000.003s100%
+
+
+
+
+
+ +
+ + diff --git a/build/reports/tests/test/org.kilka.moderationcommands.config.DefaultConfigTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.config.DefaultConfigTest/index.html new file mode 100644 index 0000000..130438b --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.config.DefaultConfigTest/index.html @@ -0,0 +1,137 @@ + + + + + +Test results - org.kilka.moderationcommands.config.DefaultConfigTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

DefaultConfigTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
3
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.302s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
defaultConfigContainsRequiredCommandsAndValidMessages()1000.234s100%
missingIntegrationSettingsUseBackwardsCompatibleDefaults()1000.061s100%
rejectsInvalidVoicePermission()1000.002s100%
+
+
+
+
+
+ +
+ + diff --git a/build/reports/tests/test/org.kilka.moderationcommands.config.PluginDescriptorTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.config.PluginDescriptorTest/index.html new file mode 100644 index 0000000..b65b1a2 --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.config.PluginDescriptorTest/index.html @@ -0,0 +1,119 @@ + + + + + +Test results - org.kilka.moderationcommands.config.PluginDescriptorTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

PluginDescriptorTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.017s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
commandsExposeTheSamePermissionsCheckedByExecutors()1000.015s100%
+
+
+
+
+
+ +
+ + diff --git a/build/reports/tests/test/org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest/index.html new file mode 100644 index 0000000..726ab3e --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest/index.html @@ -0,0 +1,137 @@ + + + + + +Test results - org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

FlectoneChatMuteIntegrationTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
3
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.043s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
cancelsFlectoneChatAndNotifiesMutedSender()1000.003s100%
disabledPermanentListenerBecomesNoOp()1000.003s100%
leavesOtherModulesAndUnmutedPlayersUntouched()1000.027s100%
+
+
+
+
+
+ +
+ + diff --git a/build/reports/tests/test/org.kilka.moderationcommands.mute.YamlMuteRepositoryTest/index.html b/build/reports/tests/test/org.kilka.moderationcommands.mute.YamlMuteRepositoryTest/index.html new file mode 100644 index 0000000..74d78a9 --- /dev/null +++ b/build/reports/tests/test/org.kilka.moderationcommands.mute.YamlMuteRepositoryTest/index.html @@ -0,0 +1,155 @@ + + + + + +Test results - org.kilka.moderationcommands.mute.YamlMuteRepositoryTest + + + + + +
+ +
+ +
+

Gradle Test Run :test

+

YamlMuteRepositoryTest

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
5
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
0.092s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildTestsFailuresSkippedDurationSuccess rate
expirationIsImmediateAndCleanupIsPersistent()1000.046s100%
failedAtomicWriteKeepsThePublishedSnapshot()1000.010s100%
persistsTemporaryAndPermanentMutesAcrossReloads()1000.014s100%
rejectsCorruptedStorageWithoutOverwritingIt()1000.007s100%
repeatMuteReplacesTheUuidEntry()1000.008s100%
+
+
+
+
+
+ +
+ + diff --git a/build/resources/main/config.yml b/build/resources/main/config.yml new file mode 100644 index 0000000..e702523 --- /dev/null +++ b/build/resources/main/config.yml @@ -0,0 +1,46 @@ +mute: + integrations: + flectone: + enabled: true + voice: + enabled: true + permission: voicechat.speak + blocked-commands: + - msg + - tell + - w + - whisper + - reply + - r + - me + +messages: + prefix: "[Moderation] " + no-permission: "У вас нет права ." + unsupported-sender: "Эту команду может выполнить только игрок или обычная консоль." + usage-mute: "Использование: /mute [actor:] " + usage-unmute: "Использование: /unmute [actor:] [reason...]" + usage-ban: "Использование: /ban [actor:] " + usage-unban: "Использование: /unban [actor:] [reason...]" + usage-kick: "Использование: /kick [actor:] " + invalid-duration: "Неизвестный или недопустимый срок: ." + invalid-actor: "Аргумент actor: указан неверно." + player-actor-forbidden: "Игрок не может передавать actor: вручную." + missing-reason: "Необходимо указать причину." + target-not-found: "Профиль не найден среди известных серверу игроков. Можно указать UUID." + target-offline: "Игрок уже вышел с сервера." + no-active-mute: "У игрока нет активного мута." + no-active-ban: "У профиля нет активного бана." + storage-error: "Не удалось надёжно сохранить изменение. Наказание не применено." + action-failed: "Не удалось применить действие. Подробности записаны в журнал сервера." + mute-success: "Мут игрока установлен на . Автор: ." + mute-target: "Вам запрещён чат. Причина: . Модератор: . Срок: ." + unmute-success: "Мут игрока снят. Автор: ." + unmute-target: "Ваш мут снят. Модератор: . Причина снятия: ." + ban-success: "Профиль заблокирован на . Автор: ." + ban-disconnect: "Вы заблокированы на сервере.\nПричина: \nМодератор: \nСрок: " + unban-success: "Бан профиля снят. Автор: ." + kick-success: "Игрок исключён с сервера. Автор: ." + kick-disconnect: "Вы исключены с сервера.\nПричина: \nМодератор: " + muted-attempt: "Вы не можете писать. Причина: . Осталось: ." + reason-not-specified: "не указана" diff --git a/build/resources/main/plugin.yml b/build/resources/main/plugin.yml new file mode 100644 index 0000000..7e1b706 --- /dev/null +++ b/build/resources/main/plugin.yml @@ -0,0 +1,54 @@ +name: ModerationCommands +description: Moderation commands for Paper servers +prefix: ModerationCommands +version: '1.0' + +main: org.kilka.moderationcommands.ModerationCommandsPlugin +api-version: '26.1.2' +load: POSTWORLD +softdepend: [ FlectonePulse, LuckPerms ] + +authors: [ Kilka_v_HJIebe ] + +commands: + mute: + description: Mute a player + permission: moderation.command.mute + unmute: + description: Remove an active mute + permission: moderation.command.unmute + ban: + description: Ban a player profile + permission: moderation.command.ban + unban: + description: Remove an active profile ban + permission: moderation.command.unban + kick: + description: Kick an online player + permission: moderation.command.kick + +permissions: + moderation.command.*: + description: Allows all ModerationCommands commands + default: op + children: + moderation.command.mute: true + moderation.command.unmute: true + moderation.command.ban: true + moderation.command.unban: true + moderation.command.kick: true + moderation.command.mute: + description: Allows /mute + default: op + moderation.command.unmute: + description: Allows /unmute + default: op + moderation.command.ban: + description: Allows /ban + default: op + moderation.command.unban: + description: Allows /unban + default: op + moderation.command.kick: + description: Allows /kick + default: op diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.common.ActorReasonParserTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.common.ActorReasonParserTest.xml new file mode 100644 index 0000000..ce44224 --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.common.ActorReasonParserTest.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.common.BlockedCommandMatcherTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.common.BlockedCommandMatcherTest.xml new file mode 100644 index 0000000..6199371 --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.common.BlockedCommandMatcherTest.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.common.DurationParserTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.common.DurationParserTest.xml new file mode 100644 index 0000000..6964aa9 --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.common.DurationParserTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.config.DefaultConfigTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.config.DefaultConfigTest.xml new file mode 100644 index 0000000..cbc90f0 --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.config.DefaultConfigTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.config.PluginDescriptorTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.config.PluginDescriptorTest.xml new file mode 100644 index 0000000..99c0cd5 --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.config.PluginDescriptorTest.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest.xml new file mode 100644 index 0000000..fcdec03 --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/build/test-results/test/TEST-org.kilka.moderationcommands.mute.YamlMuteRepositoryTest.xml b/build/test-results/test/TEST-org.kilka.moderationcommands.mute.YamlMuteRepositoryTest.xml new file mode 100644 index 0000000..ac1674f --- /dev/null +++ b/build/test-results/test/TEST-org.kilka.moderationcommands.mute.YamlMuteRepositoryTest.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/build/test-results/test/binary/output-events.bin b/build/test-results/test/binary/output-events.bin new file mode 100644 index 0000000..e69de29 diff --git a/build/test-results/test/binary/results-generic.bin b/build/test-results/test/binary/results-generic.bin new file mode 100644 index 0000000000000000000000000000000000000000..15d5c8d92170509fa6ad0866edb8b6aedfe936ef GIT binary patch literal 4003 zcmcInTW?!M5Z;ggQ3?g+0VFPxB_t3M5<-rX2CH>qav|yiPB!O^?InA554(GE zDFWpe00L12LTcd!9@-!(N(+?`sQ&f6`ca=6*EumV|Z7ApX#60)>+OOKQN{d1+@=~f3Fx&~P zVx6X3CAQ?>XjLl0O#-)C)w!`?rolSKSajv?t#|$k{~IUq0lp60&#vSaY(*=pCCs)# z700W#ykJ4OL0~pc6Xr97`2f2PE6#9Cop1}xvPvc))k|Qj&Z`kp7zl%BiNOoR;6Zkc zv>(YcDPr!R#${8R6cVIS6V{^gZ*!T09SDIJiNH%l-~j8rl$WmoLB-Z&^S-QW<1`A>8mstDsK>#VWM)7^%wW6|4qKXxKy>q zE1UU753%nv-}QD9-phq4{5%E+cVID6obCclgO*6be79@;7ljqWT zPyD=#Csb3kO7wjk-uS8Oc4@ptTs{h1jviyTlMp+67ymkJ=nZeuM6l=)G>b@TU@dPI zgQY(rp9CUvmx#!5c9q=G@un6r)WH-|Y1MD$bMF)22LyPO^_IY=TeR&h4$|;Ly-_D# z9|m60Np{n(2^{wY>=SJP*NZ8fruU?%@M)qG4_K5j@!tDYlErjB$wcgI-}Cu zK@xT~JENS=<2EFy(Vx+dB8hwLSZYdK{Ir77IeLTJo~vQpuAc2y?@J>0Q&8{JY4%+r zEXUqWeC4>pi}`}E&JX%wzzX|&dm`IkQa6dzZ6ftJyB2d5gS6dQp=7v1h^7GR6HKN+ z;pV!(%#cx0%R9vE6x)Z|T>Gn&KWSaH&P@D`;Ys zXH|Ke)CIQEUz;0gcHsl|q@ZUk;$LEMmVIL&gV0JyT;hsoal*~yA{kZAtPUXc`6z(S zA0p7F*gD-U6>UtOd5@!9c#qL9IlqQ1;|hcqaCH#k&mSfR$B4nx?0S<6oCRg4QxVT1 z7MusjeCqXlK?;ilYD)3Uw)H>=947*2iNKj%hWQSq{9=2b^=;7KH&cuvc6rS3M8c4_ b@z7+hhF(KUy0taT!4Hesc{)+X2gU0@lncM0 literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..31ffaff86b910c55b4daa23262ca184716e5248a GIT binary patch literal 125712 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 z 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 b|I7a>m;L90edfY_KWVngpF;uJ2fzOZ=Lb^R literal 0 HcmV?d00001 diff --git a/build/tmp/compileTestJava/previous-compilation-data.bin b/build/tmp/compileTestJava/previous-compilation-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..ac45836a39999712e8f77d681cc162d88bf80a3c GIT binary patch literal 74481 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

`Lem|V$A>eR0uN8Y&sdjtu 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

1bvi{DS7E@q1{$_8->K{_OWv2 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a351597 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..0262dcb --- /dev/null +++ b/gradlew @@ -0,0 +1,248 @@ +#!/bin/sh + +# +# Copyright © 2015 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. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# 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/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/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 +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 + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +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 ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + + + +# 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 + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + 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 +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +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=SC2039,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=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +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" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + 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 + # 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 +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# 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 new file mode 100644 index 0000000..e509b2d --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,93 @@ +@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 +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +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="-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% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +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! +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 + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..0497625 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "ModerationCommands" diff --git a/src/main/java/org/kilka/moderationcommands/ModerationCommandsPlugin.java b/src/main/java/org/kilka/moderationcommands/ModerationCommandsPlugin.java new file mode 100644 index 0000000..cb3066c --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/ModerationCommandsPlugin.java @@ -0,0 +1,178 @@ +package org.kilka.moderationcommands; + +import io.papermc.paper.ban.BanListType; +import java.io.IOException; +import java.time.Clock; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.logging.Level; +import org.bukkit.Bukkit; +import org.bukkit.ban.ProfileBanList; +import org.bukkit.command.PluginCommand; +import org.bukkit.configuration.InvalidConfigurationException; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitTask; +import org.kilka.moderationcommands.ban.BanService; +import org.kilka.moderationcommands.command.BanCommand; +import org.kilka.moderationcommands.command.CommandOwnership; +import org.kilka.moderationcommands.command.KickCommand; +import org.kilka.moderationcommands.command.ModerationCommand; +import org.kilka.moderationcommands.command.MuteCommand; +import org.kilka.moderationcommands.command.UnbanCommand; +import org.kilka.moderationcommands.command.UnmuteCommand; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.BlockedCommandMatcher; +import org.kilka.moderationcommands.common.DurationFormatter; +import org.kilka.moderationcommands.common.DurationParser; +import org.kilka.moderationcommands.common.KnownPlayerResolver; +import org.kilka.moderationcommands.config.MessageService; +import org.kilka.moderationcommands.config.ModerationSettings; +import org.kilka.moderationcommands.kick.KickService; +import org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegration; +import org.kilka.moderationcommands.integration.luckperms.LuckPermsVoiceMuteIntegration; +import org.kilka.moderationcommands.mute.MuteEnforcementListener; +import org.kilka.moderationcommands.mute.MuteLifecycleCoordinator; +import org.kilka.moderationcommands.mute.MuteLifecycleObserver; +import org.kilka.moderationcommands.mute.MuteService; +import org.kilka.moderationcommands.mute.MutedAttemptNotifier; +import org.kilka.moderationcommands.mute.YamlMuteRepository; + +public final class ModerationCommandsPlugin extends JavaPlugin { + private BukkitTask cleanupTask; + private final List activeIntegrations = new ArrayList<>(); + + @Override + public void onEnable() { + saveDefaultConfig(); + + try { + Clock clock = Clock.systemUTC(); + ModerationSettings settings = ModerationSettings.load(getConfig()); + MessageService messages = new MessageService(getConfig()); + KnownPlayerResolver playerResolver = new KnownPlayerResolver(getServer()); + DurationParser durationParser = new DurationParser(); + DurationFormatter durationFormatter = new DurationFormatter(); + ActorReasonParser actorReasonParser = new ActorReasonParser(); + + YamlMuteRepository muteRepository = new YamlMuteRepository( + getDataFolder().toPath().resolve("mutes.yml") + ); + MuteService muteService = new MuteService(muteRepository, playerResolver, clock); + MutedAttemptNotifier mutedAttemptNotifier = new MutedAttemptNotifier( + this, + muteService, + durationFormatter, + messages + ); + + List muteObservers = new ArrayList<>(); + if (settings.voiceEnabled()) { + if (getServer().getPluginManager().getPlugin("LuckPerms") == null) { + getLogger().warning("LuckPerms is not installed; Simple Voice Chat mute is disabled"); + } else { + LuckPermsVoiceMuteIntegration.start(this, muteService, settings.voicePermission()) + .ifPresent(integration -> { + muteObservers.add(integration); + activeIntegrations.add(integration); + }); + } + } + MuteLifecycleCoordinator muteLifecycle = new MuteLifecycleCoordinator( + muteService, + muteObservers, + getLogger() + ); + + ProfileBanList profileBanList = Bukkit.getBanList(BanListType.PROFILE); + BanService banService = new BanService(profileBanList, playerResolver, clock); + + register("mute", new MuteCommand( + this, + messages, + actorReasonParser, + durationParser, + durationFormatter, + playerResolver, + muteLifecycle, + clock + )); + register("unmute", new UnmuteCommand( + this, + messages, + actorReasonParser, + muteService, + muteLifecycle + )); + register("ban", new BanCommand( + this, + messages, + actorReasonParser, + durationParser, + durationFormatter, + playerResolver, + banService, + clock + )); + register("unban", new UnbanCommand(this, messages, actorReasonParser, banService)); + register("kick", new KickCommand( + this, + messages, + actorReasonParser, + playerResolver, + new KickService() + )); + + CommandOwnership.claim(this, List.of("mute", "unmute", "ban", "unban", "kick")) + .ifPresent(activeIntegrations::add); + + getServer().getPluginManager().registerEvents(new MuteEnforcementListener( + muteService, + new BlockedCommandMatcher(settings.blockedCommands()), + mutedAttemptNotifier + ), this); + + if (settings.flectoneEnabled()) { + if (getServer().getPluginManager().getPlugin("FlectonePulse") == null) { + getLogger().warning("FlectonePulse is not installed; only Paper chat events will be enforced"); + } else { + FlectoneChatMuteIntegration.start(this, muteService, mutedAttemptNotifier) + .ifPresent(activeIntegrations::add); + } + } + + cleanupTask = getServer().getScheduler().runTaskTimer(this, () -> { + try { + muteLifecycle.purgeExpired(); + } catch (IOException exception) { + getLogger().log(Level.SEVERE, "Could not purge expired mutes", exception); + } + }, 20L * 60L, 20L * 60L); + } catch (IOException | InvalidConfigurationException | RuntimeException exception) { + getLogger().log(Level.SEVERE, "ModerationCommands could not be enabled safely", exception); + getServer().getPluginManager().disablePlugin(this); + } + } + + @Override + public void onDisable() { + if (cleanupTask != null) { + cleanupTask.cancel(); + cleanupTask = null; + } + for (int index = activeIntegrations.size() - 1; index >= 0; index--) { + try { + activeIntegrations.get(index).close(); + } catch (Exception exception) { + getLogger().log(Level.WARNING, "Could not cleanly stop an optional integration", exception); + } + } + activeIntegrations.clear(); + } + + private void register(String name, ModerationCommand executor) { + PluginCommand command = Objects.requireNonNull(getCommand(name), "Missing command in plugin.yml: " + name); + command.setExecutor(executor); + command.setTabCompleter(executor); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/ban/BanService.java b/src/main/java/org/kilka/moderationcommands/ban/BanService.java new file mode 100644 index 0000000..47fc9aa --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/ban/BanService.java @@ -0,0 +1,86 @@ +package org.kilka.moderationcommands.ban; + +import com.destroystokyo.paper.profile.PlayerProfile; +import java.time.Clock; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.bukkit.BanEntry; +import org.bukkit.ban.ProfileBanList; +import org.kilka.moderationcommands.common.KnownPlayerResolver; +import org.kilka.moderationcommands.common.PlayerTarget; + +public final class BanService { + private final ProfileBanList banList; + private final KnownPlayerResolver playerResolver; + private final Clock clock; + + public BanService(ProfileBanList banList, KnownPlayerResolver playerResolver, Clock clock) { + this.banList = banList; + this.playerResolver = playerResolver; + this.clock = clock; + } + + public boolean ban(PlayerTarget target, String reason, Instant expiresAt, String actor) { + return banList.addBan(target.profile(), reason, expiresAt, actor) != null; + } + + public Optional> findActive(String input) { + UUID requestedUuid = KnownPlayerResolver.parseUuid(input); + Optional> direct = findAmongEntries(input, requestedUuid); + if (direct.isPresent()) { + return direct; + } + + return playerResolver.resolve(input) + .flatMap(target -> findAmongEntries(input, target.uniqueId())); + } + + public void remove(BanEntry entry) { + entry.remove(); + } + + public List activeProfileNames() { + List names = new ArrayList<>(); + Instant now = clock.instant(); + for (BanEntry entry : entries()) { + if (!isActive(entry, now)) { + continue; + } + String name = entry.getBanTarget().getName(); + names.add(name == null ? entry.getBanTarget().getId().toString() : name); + } + return List.copyOf(names); + } + + private Optional> findAmongEntries(String input, UUID requestedUuid) { + BanEntry match = null; + Instant now = clock.instant(); + for (BanEntry entry : entries()) { + if (!isActive(entry, now)) { + continue; + } + PlayerProfile profile = entry.getBanTarget(); + boolean matchesUuid = requestedUuid != null && requestedUuid.equals(profile.getId()); + boolean matchesName = profile.getName() != null && profile.getName().equalsIgnoreCase(input); + if (!matchesUuid && !matchesName) { + continue; + } + if (match != null && !match.getBanTarget().getId().equals(profile.getId())) { + return Optional.empty(); + } + match = entry; + } + return Optional.ofNullable(match); + } + + private boolean isActive(BanEntry entry, Instant now) { + return entry.getExpiration() == null || entry.getExpiration().toInstant().isAfter(now); + } + + private Iterable> entries() { + return banList.getEntries(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/BanCommand.java b/src/main/java/org/kilka/moderationcommands/command/BanCommand.java new file mode 100644 index 0000000..2ec3869 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/BanCommand.java @@ -0,0 +1,100 @@ +package org.kilka.moderationcommands.command; + +import java.time.Clock; +import java.time.Instant; +import java.util.List; +import java.util.Map; +import net.kyori.adventure.text.Component; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; +import org.kilka.moderationcommands.ban.BanService; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.DurationFormatter; +import org.kilka.moderationcommands.common.DurationParser; +import org.kilka.moderationcommands.common.KnownPlayerResolver; +import org.kilka.moderationcommands.common.PlayerTarget; +import org.kilka.moderationcommands.common.PunishmentDuration; +import org.kilka.moderationcommands.common.ValidationException; +import org.kilka.moderationcommands.config.MessageService; + +public final class BanCommand extends ModerationCommand { + private final DurationParser durationParser; + private final DurationFormatter durationFormatter; + private final KnownPlayerResolver playerResolver; + private final BanService banService; + private final Clock clock; + + public BanCommand( + JavaPlugin plugin, + MessageService messages, + ActorReasonParser actorReasonParser, + DurationParser durationParser, + DurationFormatter durationFormatter, + KnownPlayerResolver playerResolver, + BanService banService, + Clock clock + ) { + super(plugin, messages, actorReasonParser, "moderation.command.ban"); + this.durationParser = durationParser; + this.durationFormatter = durationFormatter; + this.playerResolver = playerResolver; + this.banService = banService; + this.clock = clock; + } + + @Override + protected boolean execute(CommandSender sender, String[] args) throws ValidationException { + if (args.length < 3) { + throw new ValidationException("usage-ban"); + } + Instant issuedAt = clock.instant(); + PunishmentDuration duration = durationParser.parse(args[1], issuedAt) + .orElseThrow(() -> invalidDuration(args[1])); + Instant expiresAt = duration.expiresAt(issuedAt); + ActorReasonParser.ActorReason context = parseActorAndReason(sender, args, 2, true); + PlayerTarget target = playerResolver.resolve(args[0]).orElseThrow(() -> new ValidationException( + "target-not-found", + Map.of("target", Component.text(args[0])) + )); + + if (!banService.ban(target, context.reason(), expiresAt, context.actor())) { + throw new ValidationException("action-failed"); + } + + Map placeholders = Map.of( + "target", Component.text(target.displayName()), + "actor", Component.text(context.actor()), + "reason", Component.text(context.reason()), + "duration", Component.text(durationFormatter.format(duration)) + ); + Player onlineTarget = plugin.getServer().getPlayer(target.uniqueId()); + if (onlineTarget != null) { + onlineTarget.kick(messages.render("ban-disconnect", placeholders)); + } + messages.send(sender, "ban-success", placeholders); + return true; + } + + private ValidationException invalidDuration(String input) { + return new ValidationException("invalid-duration", Map.of("duration", Component.text(input))); + } + + @Override + public @NotNull List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + if (args.length == 1) { + return CommandCompletions.onlinePlayers(plugin.getServer(), args[0]); + } + if (args.length == 2) { + return CommandCompletions.durations(args[1]); + } + return List.of(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/CommandCompletions.java b/src/main/java/org/kilka/moderationcommands/command/CommandCompletions.java new file mode 100644 index 0000000..100f866 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/CommandCompletions.java @@ -0,0 +1,29 @@ +package org.kilka.moderationcommands.command; + +import java.util.Collection; +import java.util.List; +import java.util.Locale; +import org.bukkit.Server; + +final class CommandCompletions { + private static final List DURATIONS = List.of("1h", "1d", "7d", "30d", "permanent"); + + private CommandCompletions() { + } + + static List onlinePlayers(Server server, String prefix) { + return filter(server.getOnlinePlayers().stream().map(player -> player.getName()).toList(), prefix); + } + + static List durations(String prefix) { + return filter(DURATIONS, prefix); + } + + static List filter(Collection candidates, String prefix) { + String normalized = prefix.toLowerCase(Locale.ROOT); + return candidates.stream() + .filter(candidate -> candidate.toLowerCase(Locale.ROOT).startsWith(normalized)) + .sorted(String.CASE_INSENSITIVE_ORDER) + .toList(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/CommandOwnership.java b/src/main/java/org/kilka/moderationcommands/command/CommandOwnership.java new file mode 100644 index 0000000..8cde97a --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/CommandOwnership.java @@ -0,0 +1,101 @@ +package org.kilka.moderationcommands.command; + +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Optional; +import java.util.logging.Level; +import org.bukkit.command.Command; +import org.bukkit.command.CommandMap; +import org.bukkit.command.PluginIdentifiableCommand; +import org.bukkit.command.PluginCommand; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public final class CommandOwnership implements AutoCloseable { + private final JavaPlugin plugin; + private final CommandMap commandMap; + private final Map claimed = new HashMap<>(); + private final Map replaced = new HashMap<>(); + + private CommandOwnership(JavaPlugin plugin) { + this.plugin = plugin; + this.commandMap = plugin.getServer().getCommandMap(); + } + + public static Optional claim(JavaPlugin plugin, List commandNames) { + CommandOwnership ownership = new CommandOwnership(plugin); + try { + ownership.claimAll(commandNames); + return Optional.of(ownership); + } catch (RuntimeException exception) { + ownership.restore(); + plugin.getLogger().log( + Level.SEVERE, + "Could not claim moderation command labels; use /moderationcommands: as a fallback", + exception + ); + return Optional.empty(); + } + } + + private void claimAll(List commandNames) { + Map knownCommands = commandMap.getKnownCommands(); + for (String commandName : commandNames) { + String label = commandName.toLowerCase(Locale.ROOT); + PluginCommand ownCommand = plugin.getCommand(label); + if (ownCommand == null) { + throw new IllegalStateException("Missing command in plugin.yml: " + label); + } + + Command previous = knownCommands.put(label, ownCommand); + claimed.put(label, ownCommand); + if (previous != null && previous != ownCommand) { + replaced.put(label, previous); + plugin.getLogger().warning( + "Command /" + label + " was owned by " + describe(previous) + + "; the bare label is now routed to ModerationCommands" + ); + } + } + refreshOnlineCommandTrees(); + } + + private String describe(Command command) { + if (command instanceof PluginIdentifiableCommand identifiable) { + return identifiable.getPlugin().getName(); + } + return command.getClass().getName(); + } + + private void refreshOnlineCommandTrees() { + for (Player player : plugin.getServer().getOnlinePlayers()) { + player.updateCommands(); + } + } + + @Override + public void close() { + restore(); + } + + private void restore() { + Map knownCommands = commandMap.getKnownCommands(); + for (Map.Entry entry : claimed.entrySet()) { + String label = entry.getKey(); + if (knownCommands.get(label) != entry.getValue()) { + continue; + } + Command previous = replaced.get(label); + if (previous == null) { + knownCommands.remove(label); + } else { + knownCommands.put(label, previous); + } + } + claimed.clear(); + replaced.clear(); + refreshOnlineCommandTrees(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/KickCommand.java b/src/main/java/org/kilka/moderationcommands/command/KickCommand.java new file mode 100644 index 0000000..21cfa77 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/KickCommand.java @@ -0,0 +1,66 @@ +package org.kilka.moderationcommands.command; + +import java.util.List; +import java.util.Map; +import net.kyori.adventure.text.Component; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.KnownPlayerResolver; +import org.kilka.moderationcommands.common.ValidationException; +import org.kilka.moderationcommands.config.MessageService; +import org.kilka.moderationcommands.kick.KickService; + +public final class KickCommand extends ModerationCommand { + private final KnownPlayerResolver playerResolver; + private final KickService kickService; + + public KickCommand( + JavaPlugin plugin, + MessageService messages, + ActorReasonParser actorReasonParser, + KnownPlayerResolver playerResolver, + KickService kickService + ) { + super(plugin, messages, actorReasonParser, "moderation.command.kick"); + this.playerResolver = playerResolver; + this.kickService = kickService; + } + + @Override + protected boolean execute(CommandSender sender, String[] args) throws ValidationException { + if (args.length < 2) { + throw new ValidationException("usage-kick"); + } + ActorReasonParser.ActorReason context = parseActorAndReason(sender, args, 1, true); + Player target = playerResolver.resolveOnline(args[0]).orElseThrow(() -> new ValidationException( + "target-offline", + Map.of("target", Component.text(args[0])) + )); + Map placeholders = Map.of( + "target", Component.text(target.getName()), + "actor", Component.text(context.actor()), + "reason", Component.text(context.reason()) + ); + if (!kickService.kick(target, messages.render("kick-disconnect", placeholders))) { + throw new ValidationException("target-offline", Map.of("target", Component.text(args[0]))); + } + messages.send(sender, "kick-success", placeholders); + return true; + } + + @Override + public @NotNull List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return args.length == 1 + ? CommandCompletions.onlinePlayers(plugin.getServer(), args[0]) + : List.of(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/ModerationCommand.java b/src/main/java/org/kilka/moderationcommands/command/ModerationCommand.java new file mode 100644 index 0000000..5c13314 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/ModerationCommand.java @@ -0,0 +1,98 @@ +package org.kilka.moderationcommands.command; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; +import net.kyori.adventure.text.Component; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.command.TabCompleter; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.ValidationException; +import org.kilka.moderationcommands.config.MessageService; + +public abstract class ModerationCommand implements CommandExecutor, TabCompleter { + protected final JavaPlugin plugin; + protected final MessageService messages; + protected final ActorReasonParser actorReasonParser; + private final String permission; + + protected ModerationCommand( + JavaPlugin plugin, + MessageService messages, + ActorReasonParser actorReasonParser, + String permission + ) { + this.plugin = plugin; + this.messages = messages; + this.actorReasonParser = actorReasonParser; + this.permission = permission; + } + + @Override + public final boolean onCommand( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args + ) { + if (sender instanceof Player player) { + if (!player.hasPermission(permission)) { + messages.send(sender, "no-permission", Map.of("permission", Component.text(permission))); + return false; + } + } else if (!(sender instanceof ConsoleCommandSender)) { + messages.send(sender, "unsupported-sender"); + return false; + } + + try { + return execute(sender, args); + } catch (ValidationException exception) { + messages.send(sender, exception.messageKey(), exception.placeholders()); + return false; + } catch (IOException exception) { + plugin.getLogger().log(Level.SEVERE, "Could not persist moderation state", exception); + messages.send(sender, "storage-error"); + return false; + } catch (RuntimeException exception) { + plugin.getLogger().log(Level.SEVERE, "Could not execute /" + label, exception); + messages.send(sender, "action-failed"); + return false; + } + } + + protected abstract boolean execute(CommandSender sender, String[] args) + throws ValidationException, IOException; + + protected ActorReasonParser.ActorReason parseActorAndReason( + CommandSender sender, + String[] arguments, + int startIndex, + boolean reasonRequired + ) throws ValidationException { + return actorReasonParser.parse( + sender instanceof ConsoleCommandSender, + sender.getName(), + arguments, + startIndex, + reasonRequired + ); + } + + @Override + public @NotNull List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return List.of(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/MuteCommand.java b/src/main/java/org/kilka/moderationcommands/command/MuteCommand.java new file mode 100644 index 0000000..5958ead --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/MuteCommand.java @@ -0,0 +1,99 @@ +package org.kilka.moderationcommands.command; + +import java.io.IOException; +import java.time.Clock; +import java.util.List; +import java.util.Map; +import net.kyori.adventure.text.Component; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.DurationFormatter; +import org.kilka.moderationcommands.common.DurationParser; +import org.kilka.moderationcommands.common.KnownPlayerResolver; +import org.kilka.moderationcommands.common.PlayerTarget; +import org.kilka.moderationcommands.common.PunishmentDuration; +import org.kilka.moderationcommands.common.ValidationException; +import org.kilka.moderationcommands.config.MessageService; +import org.kilka.moderationcommands.mute.MuteRecord; +import org.kilka.moderationcommands.mute.MuteLifecycleCoordinator; + +public final class MuteCommand extends ModerationCommand { + private final DurationParser durationParser; + private final DurationFormatter durationFormatter; + private final KnownPlayerResolver playerResolver; + private final MuteLifecycleCoordinator muteLifecycle; + private final Clock clock; + + public MuteCommand( + JavaPlugin plugin, + MessageService messages, + ActorReasonParser actorReasonParser, + DurationParser durationParser, + DurationFormatter durationFormatter, + KnownPlayerResolver playerResolver, + MuteLifecycleCoordinator muteLifecycle, + Clock clock + ) { + super(plugin, messages, actorReasonParser, "moderation.command.mute"); + this.durationParser = durationParser; + this.durationFormatter = durationFormatter; + this.playerResolver = playerResolver; + this.muteLifecycle = muteLifecycle; + this.clock = clock; + } + + @Override + protected boolean execute(CommandSender sender, String[] args) throws ValidationException, IOException { + if (args.length < 3) { + throw new ValidationException("usage-mute"); + } + PunishmentDuration duration = requireDuration(args[1]); + ActorReasonParser.ActorReason context = parseActorAndReason(sender, args, 2, true); + PlayerTarget target = playerResolver.resolve(args[0]).orElseThrow(() -> new ValidationException( + "target-not-found", + Map.of("target", Component.text(args[0])) + )); + + MuteRecord mute = muteLifecycle.mute(target, duration, context.actor(), context.reason()); + Map placeholders = Map.of( + "target", Component.text(mute.lastName()), + "actor", Component.text(context.actor()), + "reason", Component.text(context.reason()), + "duration", Component.text(durationFormatter.format(duration)) + ); + messages.send(sender, "mute-success", placeholders); + Player onlineTarget = plugin.getServer().getPlayer(target.uniqueId()); + if (onlineTarget != null) { + messages.send(onlineTarget, "mute-target", placeholders); + } + return true; + } + + private PunishmentDuration requireDuration(String input) throws ValidationException { + return durationParser.parse(input, clock.instant()).orElseThrow(() -> invalidDuration(input)); + } + + private ValidationException invalidDuration(String input) { + return new ValidationException("invalid-duration", Map.of("duration", Component.text(input))); + } + + @Override + public @NotNull List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + if (args.length == 1) { + return CommandCompletions.onlinePlayers(plugin.getServer(), args[0]); + } + if (args.length == 2) { + return CommandCompletions.durations(args[1]); + } + return List.of(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/UnbanCommand.java b/src/main/java/org/kilka/moderationcommands/command/UnbanCommand.java new file mode 100644 index 0000000..34013c5 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/UnbanCommand.java @@ -0,0 +1,62 @@ +package org.kilka.moderationcommands.command; + +import com.destroystokyo.paper.profile.PlayerProfile; +import java.util.List; +import java.util.Map; +import net.kyori.adventure.text.Component; +import org.bukkit.BanEntry; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; +import org.kilka.moderationcommands.ban.BanService; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.ValidationException; +import org.kilka.moderationcommands.config.MessageService; + +public final class UnbanCommand extends ModerationCommand { + private final BanService banService; + + public UnbanCommand( + JavaPlugin plugin, + MessageService messages, + ActorReasonParser actorReasonParser, + BanService banService + ) { + super(plugin, messages, actorReasonParser, "moderation.command.unban"); + this.banService = banService; + } + + @Override + protected boolean execute(CommandSender sender, String[] args) throws ValidationException { + if (args.length < 1) { + throw new ValidationException("usage-unban"); + } + ActorReasonParser.ActorReason context = parseActorAndReason(sender, args, 1, false); + BanEntry entry = banService.findActive(args[0]).orElseThrow(() -> new ValidationException( + "no-active-ban", + Map.of("target", Component.text(args[0])) + )); + String profileName = entry.getBanTarget().getName(); + String displayName = profileName == null ? entry.getBanTarget().getId().toString() : profileName; + banService.remove(entry); + messages.send(sender, "unban-success", Map.of( + "target", Component.text(displayName), + "actor", Component.text(context.actor()), + "reason", messages.optionalReason(context.reason()) + )); + return true; + } + + @Override + public @NotNull List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return args.length == 1 + ? CommandCompletions.filter(banService.activeProfileNames(), args[0]) + : List.of(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/command/UnmuteCommand.java b/src/main/java/org/kilka/moderationcommands/command/UnmuteCommand.java new file mode 100644 index 0000000..b496458 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/command/UnmuteCommand.java @@ -0,0 +1,73 @@ +package org.kilka.moderationcommands.command; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import net.kyori.adventure.text.Component; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; +import org.kilka.moderationcommands.common.ActorReasonParser; +import org.kilka.moderationcommands.common.ValidationException; +import org.kilka.moderationcommands.config.MessageService; +import org.kilka.moderationcommands.mute.MuteRecord; +import org.kilka.moderationcommands.mute.MuteLifecycleCoordinator; +import org.kilka.moderationcommands.mute.MuteService; + +public final class UnmuteCommand extends ModerationCommand { + private final MuteService muteService; + private final MuteLifecycleCoordinator muteLifecycle; + + public UnmuteCommand( + JavaPlugin plugin, + MessageService messages, + ActorReasonParser actorReasonParser, + MuteService muteService, + MuteLifecycleCoordinator muteLifecycle + ) { + super(plugin, messages, actorReasonParser, "moderation.command.unmute"); + this.muteService = muteService; + this.muteLifecycle = muteLifecycle; + } + + @Override + protected boolean execute(CommandSender sender, String[] args) throws ValidationException, IOException { + if (args.length < 1) { + throw new ValidationException("usage-unmute"); + } + ActorReasonParser.ActorReason context = parseActorAndReason(sender, args, 1, false); + MuteRecord mute = muteService.findActive(args[0]).orElseThrow(() -> new ValidationException( + "no-active-mute", + Map.of("target", Component.text(args[0])) + )); + if (!muteLifecycle.unmute(mute)) { + throw new ValidationException("no-active-mute", Map.of("target", Component.text(args[0]))); + } + + Map placeholders = Map.of( + "target", Component.text(mute.lastName()), + "actor", Component.text(context.actor()), + "reason", messages.optionalReason(context.reason()) + ); + messages.send(sender, "unmute-success", placeholders); + Player onlineTarget = plugin.getServer().getPlayer(mute.uniqueId()); + if (onlineTarget != null) { + messages.send(onlineTarget, "unmute-target", placeholders); + } + return true; + } + + @Override + public @NotNull List onTabComplete( + @NotNull CommandSender sender, + @NotNull Command command, + @NotNull String alias, + @NotNull String[] args + ) { + return args.length == 1 + ? CommandCompletions.onlinePlayers(plugin.getServer(), args[0]) + : List.of(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/ActorReasonParser.java b/src/main/java/org/kilka/moderationcommands/common/ActorReasonParser.java new file mode 100644 index 0000000..975fca0 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/ActorReasonParser.java @@ -0,0 +1,49 @@ +package org.kilka.moderationcommands.common; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.regex.Pattern; + +public final class ActorReasonParser { + private static final String ACTOR_PREFIX = "actor:"; + private static final Pattern ACTOR_NAME = Pattern.compile("[A-Za-z0-9_]{1,16}"); + + public ActorReason parse( + boolean console, + String senderName, + String[] arguments, + int startIndex, + boolean reasonRequired + ) throws ValidationException { + String actor = console ? "CONSOLE" : senderName; + boolean actorSeen = false; + List reasonParts = new ArrayList<>(); + + for (int index = startIndex; index < arguments.length; index++) { + String argument = arguments[index]; + if (argument.toLowerCase(Locale.ROOT).startsWith(ACTOR_PREFIX)) { + if (!console) { + throw new ValidationException("player-actor-forbidden"); + } + String candidate = argument.substring(ACTOR_PREFIX.length()); + if (actorSeen || !ACTOR_NAME.matcher(candidate).matches()) { + throw new ValidationException("invalid-actor"); + } + actor = candidate; + actorSeen = true; + } else { + reasonParts.add(argument); + } + } + + String reason = String.join(" ", reasonParts).trim(); + if (reasonRequired && reason.isEmpty()) { + throw new ValidationException("missing-reason"); + } + return new ActorReason(actor, reason); + } + + public record ActorReason(String actor, String reason) { + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/BlockedCommandMatcher.java b/src/main/java/org/kilka/moderationcommands/common/BlockedCommandMatcher.java new file mode 100644 index 0000000..5e0aeaa --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/BlockedCommandMatcher.java @@ -0,0 +1,20 @@ +package org.kilka.moderationcommands.common; + +import java.util.Locale; +import java.util.Set; + +public final class BlockedCommandMatcher { + private final Set blockedCommands; + + public BlockedCommandMatcher(Set blockedCommands) { + this.blockedCommands = Set.copyOf(blockedCommands); + } + + public boolean isBlocked(String rawCommand) { + String withoutSlash = rawCommand.startsWith("/") ? rawCommand.substring(1) : rawCommand; + String root = withoutSlash.split("\\s+", 2)[0].toLowerCase(Locale.ROOT); + int namespaceSeparator = root.lastIndexOf(':'); + String withoutNamespace = namespaceSeparator >= 0 ? root.substring(namespaceSeparator + 1) : root; + return blockedCommands.contains(root) || blockedCommands.contains(withoutNamespace); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/DurationFormatter.java b/src/main/java/org/kilka/moderationcommands/common/DurationFormatter.java new file mode 100644 index 0000000..f9217b1 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/DurationFormatter.java @@ -0,0 +1,43 @@ +package org.kilka.moderationcommands.common; + +import java.time.Duration; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; + +public final class DurationFormatter { + private static final long[] UNIT_SECONDS = { + 365L * 24L * 60L * 60L, + 7L * 24L * 60L * 60L, + 24L * 60L * 60L, + 60L * 60L, + 60L, + 1L + }; + private static final String[] UNIT_NAMES = {"г", "н", "д", "ч", "м", "с"}; + + public String format(PunishmentDuration duration) { + return duration.permanent() ? "навсегда" : formatSeconds(duration.seconds()); + } + + public String formatRemaining(Instant expiresAt, Instant now) { + if (expiresAt == null) { + return "навсегда"; + } + long seconds = Math.max(1, Duration.between(now, expiresAt).toSeconds()); + return formatSeconds(seconds); + } + + private String formatSeconds(long totalSeconds) { + long remaining = totalSeconds; + List parts = new ArrayList<>(2); + for (int index = 0; index < UNIT_SECONDS.length && parts.size() < 2; index++) { + long value = remaining / UNIT_SECONDS[index]; + if (value > 0) { + parts.add(value + UNIT_NAMES[index]); + remaining %= UNIT_SECONDS[index]; + } + } + return String.join(" ", parts); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/DurationParser.java b/src/main/java/org/kilka/moderationcommands/common/DurationParser.java new file mode 100644 index 0000000..89569b6 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/DurationParser.java @@ -0,0 +1,56 @@ +package org.kilka.moderationcommands.common; + +import java.time.DateTimeException; +import java.time.Instant; +import java.util.Locale; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class DurationParser { + private static final Pattern TEMPORARY = Pattern.compile("^(\\d+)([smhdwy])$"); + + public Optional parse(String input) { + String normalized = input.toLowerCase(Locale.ROOT); + if (normalized.equals("permanent")) { + return Optional.of(PunishmentDuration.permanentDuration()); + } + + Matcher matcher = TEMPORARY.matcher(normalized); + if (!matcher.matches()) { + return Optional.empty(); + } + + try { + long amount = Long.parseLong(matcher.group(1)); + if (amount <= 0) { + return Optional.empty(); + } + long multiplier = switch (matcher.group(2).charAt(0)) { + case 's' -> 1L; + case 'm' -> 60L; + case 'h' -> 60L * 60L; + case 'd' -> 24L * 60L * 60L; + case 'w' -> 7L * 24L * 60L * 60L; + case 'y' -> 365L * 24L * 60L * 60L; + default -> throw new IllegalStateException("Unexpected duration unit"); + }; + return Optional.of(PunishmentDuration.temporary(Math.multiplyExact(amount, multiplier))); + } catch (NumberFormatException | ArithmeticException exception) { + return Optional.empty(); + } + } + + public Optional parse(String input, Instant issuedAt) { + Optional parsed = parse(input); + if (parsed.isEmpty()) { + return Optional.empty(); + } + try { + parsed.get().expiresAt(issuedAt); + return parsed; + } catch (DateTimeException exception) { + return Optional.empty(); + } + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/KnownPlayerResolver.java b/src/main/java/org/kilka/moderationcommands/common/KnownPlayerResolver.java new file mode 100644 index 0000000..baafb2e --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/KnownPlayerResolver.java @@ -0,0 +1,66 @@ +package org.kilka.moderationcommands.common; + +import java.util.Optional; +import java.util.UUID; +import org.bukkit.OfflinePlayer; +import org.bukkit.Server; +import org.bukkit.entity.Player; + +public final class KnownPlayerResolver { + private final Server server; + + public KnownPlayerResolver(Server server) { + this.server = server; + } + + public Optional resolve(String input) { + UUID uuid = parseUuid(input); + if (uuid != null) { + return Optional.of(fromOfflinePlayer(server.getOfflinePlayer(uuid), input)); + } + + Player online = findOnlineByName(input); + if (online != null) { + return Optional.of(fromOfflinePlayer(online, input)); + } + + OfflinePlayer cached = server.getOfflinePlayerIfCached(input); + return cached == null ? Optional.empty() : Optional.of(fromOfflinePlayer(cached, input)); + } + + public Optional resolveOnline(String input) { + UUID uuid = parseUuid(input); + if (uuid != null) { + return Optional.ofNullable(server.getPlayer(uuid)); + } + return Optional.ofNullable(findOnlineByName(input)); + } + + private Player findOnlineByName(String input) { + Player exact = server.getPlayerExact(input); + if (exact != null) { + return exact; + } + return server.getOnlinePlayers().stream() + .filter(player -> player.getName().equalsIgnoreCase(input)) + .findFirst() + .orElse(null); + } + + private PlayerTarget fromOfflinePlayer(OfflinePlayer player, String fallback) { + String name = player.getName(); + return new PlayerTarget( + player.getUniqueId(), + name == null || name.isBlank() ? fallback : name, + player.getPlayerProfile() + ); + } + + public static UUID parseUuid(String input) { + try { + return UUID.fromString(input); + } catch (IllegalArgumentException exception) { + return null; + } + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/PlayerTarget.java b/src/main/java/org/kilka/moderationcommands/common/PlayerTarget.java new file mode 100644 index 0000000..bf32289 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/PlayerTarget.java @@ -0,0 +1,7 @@ +package org.kilka.moderationcommands.common; + +import com.destroystokyo.paper.profile.PlayerProfile; +import java.util.UUID; + +public record PlayerTarget(UUID uniqueId, String displayName, PlayerProfile profile) { +} diff --git a/src/main/java/org/kilka/moderationcommands/common/PunishmentDuration.java b/src/main/java/org/kilka/moderationcommands/common/PunishmentDuration.java new file mode 100644 index 0000000..04c05bc --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/PunishmentDuration.java @@ -0,0 +1,27 @@ +package org.kilka.moderationcommands.common; + +import java.time.DateTimeException; +import java.time.Instant; + +public record PunishmentDuration(boolean permanent, long seconds) { + public PunishmentDuration { + if (permanent && seconds != 0) { + throw new IllegalArgumentException("A permanent duration cannot contain seconds"); + } + if (!permanent && seconds <= 0) { + throw new IllegalArgumentException("A temporary duration must be positive"); + } + } + + public static PunishmentDuration permanentDuration() { + return new PunishmentDuration(true, 0); + } + + public static PunishmentDuration temporary(long seconds) { + return new PunishmentDuration(false, seconds); + } + + public Instant expiresAt(Instant issuedAt) throws DateTimeException { + return permanent ? null : issuedAt.plusSeconds(seconds); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/common/ValidationException.java b/src/main/java/org/kilka/moderationcommands/common/ValidationException.java new file mode 100644 index 0000000..7275e6e --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/common/ValidationException.java @@ -0,0 +1,27 @@ +package org.kilka.moderationcommands.common; + +import java.util.Map; +import net.kyori.adventure.text.Component; + +public final class ValidationException extends Exception { + private final String messageKey; + private final Map placeholders; + + public ValidationException(String messageKey) { + this(messageKey, Map.of()); + } + + public ValidationException(String messageKey, Map placeholders) { + super(messageKey); + this.messageKey = messageKey; + this.placeholders = Map.copyOf(placeholders); + } + + public String messageKey() { + return messageKey; + } + + public Map placeholders() { + return placeholders; + } +} diff --git a/src/main/java/org/kilka/moderationcommands/config/MessageService.java b/src/main/java/org/kilka/moderationcommands/config/MessageService.java new file mode 100644 index 0000000..f58e975 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/config/MessageService.java @@ -0,0 +1,118 @@ +package org.kilka.moderationcommands.config; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.minimessage.MiniMessage; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; +import org.bukkit.configuration.file.FileConfiguration; + +public final class MessageService { + private static final List REQUIRED_KEYS = List.of( + "no-permission", + "unsupported-sender", + "usage-mute", + "usage-unmute", + "usage-ban", + "usage-unban", + "usage-kick", + "invalid-duration", + "invalid-actor", + "player-actor-forbidden", + "missing-reason", + "target-not-found", + "target-offline", + "no-active-mute", + "no-active-ban", + "storage-error", + "action-failed", + "mute-success", + "mute-target", + "unmute-success", + "unmute-target", + "ban-success", + "ban-disconnect", + "unban-success", + "kick-success", + "kick-disconnect", + "muted-attempt", + "reason-not-specified" + ); + private static final List PLACEHOLDER_NAMES = List.of( + "permission", "duration", "target", "actor", "reason", "command" + ); + + private final MiniMessage miniMessage = MiniMessage.builder().strict(true).build(); + private final Component prefix; + private final Map templates; + + public MessageService(FileConfiguration configuration) { + String prefixTemplate = require(configuration, "messages.prefix"); + this.prefix = miniMessage.deserialize(prefixTemplate); + + Map loaded = new LinkedHashMap<>(); + for (String key : REQUIRED_KEYS) { + loaded.put(key, require(configuration, "messages." + key)); + } + this.templates = Map.copyOf(loaded); + + TagResolver.Builder dummyResolver = TagResolver.builder(); + for (String name : PLACEHOLDER_NAMES) { + dummyResolver.resolver(Placeholder.unparsed(name, "value")); + } + TagResolver resolver = dummyResolver.build(); + templates.forEach((key, template) -> { + try { + miniMessage.deserialize(template, resolver); + } catch (RuntimeException exception) { + throw new IllegalArgumentException("Invalid MiniMessage template messages." + key, exception); + } + }); + } + + public void send(Audience audience, String key, Map placeholders) { + audience.sendMessage(prefix.append(render(key, placeholders))); + } + + public void send(Audience audience, String key) { + send(audience, key, Map.of()); + } + + public Component render(String key, Map placeholders) { + TagResolver.Builder resolver = TagResolver.builder(); + for (String name : PLACEHOLDER_NAMES) { + resolver.resolver(Placeholder.component(name, placeholders.getOrDefault(name, Component.empty()))); + } + return miniMessage.deserialize(template(key), resolver.build()); + } + + public Component render(String key) { + return render(key, Map.of()); + } + + public Component optionalReason(String reason) { + if (!reason.isBlank()) { + return Component.text(reason); + } + return render("reason-not-specified"); + } + + private String template(String key) { + String template = templates.get(key); + if (template == null) { + throw new IllegalArgumentException("Unknown message key: " + key); + } + return template; + } + + private static String require(FileConfiguration configuration, String path) { + String value = configuration.getString(path); + if (value == null || value.isBlank()) { + throw new IllegalArgumentException("Missing required configuration value: " + path); + } + return value; + } +} diff --git a/src/main/java/org/kilka/moderationcommands/config/ModerationSettings.java b/src/main/java/org/kilka/moderationcommands/config/ModerationSettings.java new file mode 100644 index 0000000..16dab0c --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/config/ModerationSettings.java @@ -0,0 +1,43 @@ +package org.kilka.moderationcommands.config; + +import java.util.Locale; +import java.util.Set; +import java.util.stream.Collectors; +import org.bukkit.configuration.file.FileConfiguration; + +public record ModerationSettings( + Set blockedCommands, + boolean flectoneEnabled, + boolean voiceEnabled, + String voicePermission +) { + public static ModerationSettings load(FileConfiguration configuration) { + Set blocked = configuration.getStringList("mute.blocked-commands").stream() + .map(ModerationSettings::normalizeCommand) + .collect(Collectors.toUnmodifiableSet()); + if (blocked.isEmpty()) { + throw new IllegalArgumentException("mute.blocked-commands must contain at least one command"); + } + String voicePermission = configuration.getString("mute.voice.permission", "voicechat.speak"); + if (voicePermission == null || voicePermission.isBlank() || voicePermission.chars().anyMatch(Character::isWhitespace)) { + throw new IllegalArgumentException("mute.voice.permission must be a non-blank permission node"); + } + return new ModerationSettings( + blocked, + configuration.getBoolean("mute.integrations.flectone.enabled", true), + configuration.getBoolean("mute.voice.enabled", true), + voicePermission.trim().toLowerCase(Locale.ROOT) + ); + } + + private static String normalizeCommand(String command) { + String normalized = command.trim().toLowerCase(Locale.ROOT); + while (normalized.startsWith("/")) { + normalized = normalized.substring(1); + } + if (normalized.isEmpty() || normalized.chars().anyMatch(Character::isWhitespace)) { + throw new IllegalArgumentException("Invalid blocked command: " + command); + } + return normalized; + } +} diff --git a/src/main/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.java b/src/main/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.java new file mode 100644 index 0000000..db8b823 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegration.java @@ -0,0 +1,101 @@ +package org.kilka.moderationcommands.integration.flectone; + +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.BiConsumer; +import java.util.function.Function; +import java.util.logging.Level; +import net.flectone.pulse.FlectonePulse; +import net.flectone.pulse.FlectonePulseAPI; +import net.flectone.pulse.annotation.Pulse; +import net.flectone.pulse.listener.PulseListener; +import net.flectone.pulse.model.entity.FEntity; +import net.flectone.pulse.model.event.Event; +import net.flectone.pulse.model.event.message.MessagePrepareEvent; +import net.flectone.pulse.platform.registry.ListenerRegistry; +import net.flectone.pulse.util.constant.ModuleName; +import org.bukkit.plugin.java.JavaPlugin; +import org.kilka.moderationcommands.mute.MuteService; +import org.kilka.moderationcommands.mute.MuteRecord; +import org.kilka.moderationcommands.mute.MutedAttemptNotifier; + +public final class FlectoneChatMuteIntegration implements AutoCloseable { + private final ChatListener listener; + + private FlectoneChatMuteIntegration(ChatListener listener) { + this.listener = listener; + } + + public static Optional start( + JavaPlugin plugin, + MuteService muteService, + MutedAttemptNotifier notifier + ) { + try { + FlectonePulse pulse = FlectonePulseAPI.getInstance(); + if (pulse == null || !pulse.isReady()) { + plugin.getLogger().warning("FlectonePulse is installed but its API is not ready; PACKET chat mute is disabled"); + return Optional.empty(); + } + + ChatListener listener = new ChatListener(muteService, notifier); + pulse.get(ListenerRegistry.class).registerPermanent(listener); + plugin.getLogger().info("FlectonePulse PACKET chat mute integration enabled"); + return Optional.of(new FlectoneChatMuteIntegration(listener)); + } catch (RuntimeException | LinkageError exception) { + plugin.getLogger().log( + Level.SEVERE, + "Could not enable FlectonePulse integration; Paper chat enforcement remains active", + exception + ); + return Optional.empty(); + } + } + + @Override + public void close() { + listener.disable(); + } + + public static final class ChatListener implements PulseListener { + private final Function> activeMuteLookup; + private final BiConsumer notifier; + private final AtomicBoolean enabled = new AtomicBoolean(true); + + ChatListener(MuteService muteService, MutedAttemptNotifier notifier) { + this(muteService::findActive, notifier::notify); + } + + ChatListener( + Function> activeMuteLookup, + BiConsumer notifier + ) { + this.activeMuteLookup = activeMuteLookup; + this.notifier = notifier; + } + + @Pulse(priority = Event.Priority.LOWEST) + public Event onMessagePrepare(MessagePrepareEvent event) { + if (!enabled.get() || event.moduleName() != ModuleName.MESSAGE_CHAT) { + return event; + } + + FEntity sender = event.eventMetadata().sender(); + if (sender.isUnknown()) { + return event; + } + + return activeMuteLookup.apply(sender.uuid()) + .map(mute -> { + notifier.accept(sender.uuid(), mute); + return event.withCancelled(true); + }) + .orElse(event); + } + + void disable() { + enabled.set(false); + } + } +} diff --git a/src/main/java/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.java b/src/main/java/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.java new file mode 100644 index 0000000..2b280e6 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/integration/luckperms/LuckPermsVoiceMuteIntegration.java @@ -0,0 +1,209 @@ +package org.kilka.moderationcommands.integration.luckperms; + +import java.util.ArrayList; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Level; +import net.luckperms.api.LuckPerms; +import net.luckperms.api.context.ContextCalculator; +import net.luckperms.api.model.user.User; +import net.luckperms.api.node.Node; +import net.luckperms.api.node.types.PermissionNode; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.plugin.RegisteredServiceProvider; +import org.bukkit.plugin.java.JavaPlugin; +import org.kilka.moderationcommands.mute.MuteLifecycleObserver; +import org.kilka.moderationcommands.mute.MuteRecord; +import org.kilka.moderationcommands.mute.MuteService; + +public final class LuckPermsVoiceMuteIntegration implements MuteLifecycleObserver, Listener, AutoCloseable { + private static final String OWNER_CONTEXT_KEY = "moderationcommands-muted"; + private static final String OWNER_CONTEXT_VALUE = "true"; + + private final JavaPlugin plugin; + private final LuckPerms luckPerms; + private final MuteService muteService; + private final String permission; + private final Map activeRecords = new ConcurrentHashMap<>(); + private final ContextCalculator contextCalculator; + + private LuckPermsVoiceMuteIntegration( + JavaPlugin plugin, + LuckPerms luckPerms, + MuteService muteService, + String permission + ) { + this.plugin = plugin; + this.luckPerms = luckPerms; + this.muteService = muteService; + this.permission = permission; + this.contextCalculator = (player, consumer) -> { + MuteRecord mute = activeRecords.get(player.getUniqueId()); + if (mute != null && mute.isActiveAt(muteService.now())) { + consumer.accept(OWNER_CONTEXT_KEY, OWNER_CONTEXT_VALUE); + } + }; + } + + public static Optional start( + JavaPlugin plugin, + MuteService muteService, + String permission + ) { + try { + RegisteredServiceProvider registration = plugin.getServer() + .getServicesManager() + .getRegistration(LuckPerms.class); + if (registration == null) { + plugin.getLogger().warning("LuckPerms is not available; Simple Voice Chat mute is disabled"); + return Optional.empty(); + } + + LuckPermsVoiceMuteIntegration integration = new LuckPermsVoiceMuteIntegration( + plugin, + registration.getProvider(), + muteService, + permission + ); + integration.enable(); + plugin.getLogger().info("Simple Voice Chat mute enabled through LuckPerms permission " + permission); + return Optional.of(integration); + } catch (RuntimeException | LinkageError exception) { + plugin.getLogger().log( + Level.SEVERE, + "Could not enable LuckPerms voice integration; chat mute remains active", + exception + ); + return Optional.empty(); + } + } + + private void enable() { + luckPerms.getContextManager().registerCalculator(contextCalculator); + plugin.getServer().getPluginManager().registerEvents(this, plugin); + for (Player player : plugin.getServer().getOnlinePlayers()) { + reconcile(player); + } + } + + @Override + public void onMuteApplied(MuteRecord mute) { + Player player = plugin.getServer().getPlayer(mute.uniqueId()); + if (player == null) { + return; + } + activeRecords.put(mute.uniqueId(), mute); + applyOrLoad(player, mute); + } + + @Override + public void onMuteRemoved(UUID uniqueId) { + activeRecords.remove(uniqueId); + User user = luckPerms.getUserManager().getUser(uniqueId); + if (user != null) { + removeOwnedNodes(user); + } + Player player = plugin.getServer().getPlayer(uniqueId); + if (player != null) { + luckPerms.getContextManager().signalContextUpdate(player); + } + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onJoin(PlayerJoinEvent event) { + plugin.getServer().getScheduler().runTask(plugin, () -> reconcile(event.getPlayer())); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onQuit(PlayerQuitEvent event) { + UUID uniqueId = event.getPlayer().getUniqueId(); + activeRecords.remove(uniqueId); + User user = luckPerms.getUserManager().getUser(uniqueId); + if (user != null) { + removeOwnedNodes(user); + } + } + + private void reconcile(Player player) { + Optional activeMute = muteService.findActive(player.getUniqueId()); + if (activeMute.isEmpty()) { + onMuteRemoved(player.getUniqueId()); + return; + } + MuteRecord mute = activeMute.get(); + activeRecords.put(player.getUniqueId(), mute); + applyOrLoad(player, mute); + } + + private void applyOrLoad(Player player, MuteRecord mute) { + User user = luckPerms.getUserManager().getUser(player.getUniqueId()); + if (user != null) { + applyNode(player, user, mute); + return; + } + + luckPerms.getUserManager().loadUser(player.getUniqueId()).whenComplete((loaded, failure) -> { + if (failure != null) { + plugin.getLogger().log(Level.SEVERE, "Could not load LuckPerms user " + player.getUniqueId(), failure); + return; + } + if (!plugin.isEnabled()) { + return; + } + plugin.getServer().getScheduler().runTask(plugin, () -> { + Player current = plugin.getServer().getPlayer(player.getUniqueId()); + if (current != null) { + reconcile(current); + } + }); + }); + } + + private void applyNode(Player player, User user, MuteRecord mute) { + removeOwnedNodes(user); + PermissionNode.Builder builder = PermissionNode.builder(permission) + .value(false) + .withContext(OWNER_CONTEXT_KEY, OWNER_CONTEXT_VALUE); + if (mute.expiresAt() != null) { + builder.expiry(mute.expiresAt()); + } + user.transientData().add(builder.build()); + luckPerms.getContextManager().signalContextUpdate(player); + } + + private void removeOwnedNodes(User user) { + for (Node node : new ArrayList<>(user.transientData().toCollection())) { + if (isOwnedNode(node)) { + user.transientData().remove(node); + } + } + } + + private boolean isOwnedNode(Node node) { + return node.getKey().equals(permission) + && !node.getValue() + && node.getContexts().contains(OWNER_CONTEXT_KEY, OWNER_CONTEXT_VALUE); + } + + @Override + public void close() { + HandlerList.unregisterAll(this); + for (Player player : plugin.getServer().getOnlinePlayers()) { + User user = luckPerms.getUserManager().getUser(player.getUniqueId()); + if (user != null) { + removeOwnedNodes(user); + } + luckPerms.getContextManager().signalContextUpdate(player); + } + activeRecords.clear(); + luckPerms.getContextManager().unregisterCalculator(contextCalculator); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/kick/KickService.java b/src/main/java/org/kilka/moderationcommands/kick/KickService.java new file mode 100644 index 0000000..d8b7469 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/kick/KickService.java @@ -0,0 +1,15 @@ +package org.kilka.moderationcommands.kick; + +import net.kyori.adventure.text.Component; +import org.bukkit.entity.Player; +import org.bukkit.event.player.PlayerKickEvent; + +public final class KickService { + public boolean kick(Player player, Component message) { + if (!player.isOnline()) { + return false; + } + player.kick(message, PlayerKickEvent.Cause.PLUGIN); + return true; + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MuteEnforcementListener.java b/src/main/java/org/kilka/moderationcommands/mute/MuteEnforcementListener.java new file mode 100644 index 0000000..50ccecc --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MuteEnforcementListener.java @@ -0,0 +1,43 @@ +package org.kilka.moderationcommands.mute; + +import io.papermc.paper.event.player.AsyncChatEvent; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.kilka.moderationcommands.common.BlockedCommandMatcher; + +public final class MuteEnforcementListener implements Listener { + private final MuteService muteService; + private final BlockedCommandMatcher commandMatcher; + private final MutedAttemptNotifier notifier; + + public MuteEnforcementListener( + MuteService muteService, + BlockedCommandMatcher commandMatcher, + MutedAttemptNotifier notifier + ) { + this.muteService = muteService; + this.commandMatcher = commandMatcher; + this.notifier = notifier; + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onChat(AsyncChatEvent event) { + muteService.findActive(event.getPlayer().getUniqueId()).ifPresent(mute -> { + event.setCancelled(true); + notifier.notify(event.getPlayer().getUniqueId(), mute); + }); + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onCommand(PlayerCommandPreprocessEvent event) { + if (!commandMatcher.isBlocked(event.getMessage())) { + return; + } + muteService.findActive(event.getPlayer().getUniqueId()).ifPresent(mute -> { + event.setCancelled(true); + notifier.notify(event.getPlayer().getUniqueId(), mute); + }); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.java b/src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.java new file mode 100644 index 0000000..669f101 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleCoordinator.java @@ -0,0 +1,69 @@ +package org.kilka.moderationcommands.mute; + +import java.io.IOException; +import java.util.List; +import java.util.Set; +import java.util.UUID; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.kilka.moderationcommands.common.PlayerTarget; +import org.kilka.moderationcommands.common.PunishmentDuration; + +public final class MuteLifecycleCoordinator { + private final MuteService muteService; + private final List observers; + private final Logger logger; + + public MuteLifecycleCoordinator( + MuteService muteService, + List observers, + Logger logger + ) { + this.muteService = muteService; + this.observers = List.copyOf(observers); + this.logger = logger; + } + + public MuteRecord mute(PlayerTarget target, PunishmentDuration duration, String actor, String reason) + throws IOException { + MuteRecord mute = muteService.mute(target, duration, actor, reason); + notifyApplied(mute); + return mute; + } + + public boolean unmute(MuteRecord mute) throws IOException { + if (!muteService.unmute(mute)) { + return false; + } + notifyRemoved(Set.of(mute.uniqueId())); + return true; + } + + public Set purgeExpired() throws IOException { + Set expired = muteService.purgeExpired(); + notifyRemoved(expired); + return expired; + } + + private void notifyApplied(MuteRecord mute) { + for (MuteLifecycleObserver observer : observers) { + try { + observer.onMuteApplied(mute); + } catch (RuntimeException | LinkageError exception) { + logger.log(Level.SEVERE, "Mute was saved, but an optional integration failed to apply", exception); + } + } + } + + private void notifyRemoved(Set uniqueIds) { + for (UUID uniqueId : uniqueIds) { + for (MuteLifecycleObserver observer : observers) { + try { + observer.onMuteRemoved(uniqueId); + } catch (RuntimeException | LinkageError exception) { + logger.log(Level.SEVERE, "Mute was removed, but an optional integration failed to update", exception); + } + } + } + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleObserver.java b/src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleObserver.java new file mode 100644 index 0000000..4e227b4 --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MuteLifecycleObserver.java @@ -0,0 +1,11 @@ +package org.kilka.moderationcommands.mute; + +import java.util.UUID; + +public interface MuteLifecycleObserver { + default void onMuteApplied(MuteRecord mute) { + } + + default void onMuteRemoved(UUID uniqueId) { + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MuteRecord.java b/src/main/java/org/kilka/moderationcommands/mute/MuteRecord.java new file mode 100644 index 0000000..8961baa --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MuteRecord.java @@ -0,0 +1,35 @@ +package org.kilka.moderationcommands.mute; + +import java.time.Instant; +import java.util.Objects; +import java.util.UUID; + +public record MuteRecord( + UUID uniqueId, + String lastName, + String actor, + String reason, + Instant issuedAt, + Instant expiresAt +) { + public MuteRecord { + Objects.requireNonNull(uniqueId, "uniqueId"); + requireText(lastName, "lastName"); + requireText(actor, "actor"); + requireText(reason, "reason"); + Objects.requireNonNull(issuedAt, "issuedAt"); + if (expiresAt != null && !expiresAt.isAfter(issuedAt)) { + throw new IllegalArgumentException("expiresAt must be after issuedAt"); + } + } + + public boolean isActiveAt(Instant instant) { + return expiresAt == null || expiresAt.isAfter(instant); + } + + private static void requireText(String value, String field) { + if (value == null || value.isBlank()) { + throw new IllegalArgumentException(field + " must not be blank"); + } + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MuteRepository.java b/src/main/java/org/kilka/moderationcommands/mute/MuteRepository.java new file mode 100644 index 0000000..b47606e --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MuteRepository.java @@ -0,0 +1,19 @@ +package org.kilka.moderationcommands.mute; + +import java.io.IOException; +import java.time.Instant; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; + +public interface MuteRepository { + Optional findActive(UUID uniqueId, Instant now); + + Optional findActiveByLastName(String name, Instant now); + + void upsert(MuteRecord mute) throws IOException; + + boolean remove(UUID uniqueId) throws IOException; + + Set purgeExpired(Instant now) throws IOException; +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MuteService.java b/src/main/java/org/kilka/moderationcommands/mute/MuteService.java new file mode 100644 index 0000000..720796b --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MuteService.java @@ -0,0 +1,66 @@ +package org.kilka.moderationcommands.mute; + +import java.io.IOException; +import java.time.Clock; +import java.time.Instant; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.kilka.moderationcommands.common.KnownPlayerResolver; +import org.kilka.moderationcommands.common.PlayerTarget; +import org.kilka.moderationcommands.common.PunishmentDuration; + +public final class MuteService { + private final MuteRepository repository; + private final KnownPlayerResolver playerResolver; + private final Clock clock; + + public MuteService(MuteRepository repository, KnownPlayerResolver playerResolver, Clock clock) { + this.repository = repository; + this.playerResolver = playerResolver; + this.clock = clock; + } + + public MuteRecord mute(PlayerTarget target, PunishmentDuration duration, String actor, String reason) + throws IOException { + Instant issuedAt = clock.instant(); + MuteRecord mute = new MuteRecord( + target.uniqueId(), + target.displayName(), + actor, + reason, + issuedAt, + duration.expiresAt(issuedAt) + ); + repository.upsert(mute); + return mute; + } + + public Optional findActive(String targetInput) { + Instant now = clock.instant(); + Optional knownTarget = playerResolver.resolve(targetInput); + if (knownTarget.isPresent()) { + Optional byUuid = repository.findActive(knownTarget.get().uniqueId(), now); + if (byUuid.isPresent()) { + return byUuid; + } + } + return repository.findActiveByLastName(targetInput, now); + } + + public Optional findActive(java.util.UUID uniqueId) { + return repository.findActive(uniqueId, clock.instant()); + } + + public boolean unmute(MuteRecord mute) throws IOException { + return repository.remove(mute.uniqueId()); + } + + public Set purgeExpired() throws IOException { + return repository.purgeExpired(clock.instant()); + } + + public Instant now() { + return clock.instant(); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/MutedAttemptNotifier.java b/src/main/java/org/kilka/moderationcommands/mute/MutedAttemptNotifier.java new file mode 100644 index 0000000..b56f24e --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/MutedAttemptNotifier.java @@ -0,0 +1,48 @@ +package org.kilka.moderationcommands.mute; + +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import net.kyori.adventure.text.Component; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.kilka.moderationcommands.common.DurationFormatter; +import org.kilka.moderationcommands.config.MessageService; + +public final class MutedAttemptNotifier { + private final JavaPlugin plugin; + private final MuteService muteService; + private final DurationFormatter durationFormatter; + private final MessageService messages; + private final Set pending = ConcurrentHashMap.newKeySet(); + + public MutedAttemptNotifier( + JavaPlugin plugin, + MuteService muteService, + DurationFormatter durationFormatter, + MessageService messages + ) { + this.plugin = plugin; + this.muteService = muteService; + this.durationFormatter = durationFormatter; + this.messages = messages; + } + + public void notify(UUID uniqueId, MuteRecord mute) { + if (!pending.add(uniqueId)) { + return; + } + plugin.getServer().getScheduler().runTask(plugin, () -> { + pending.remove(uniqueId); + Player player = plugin.getServer().getPlayer(uniqueId); + if (player == null) { + return; + } + messages.send(player, "muted-attempt", Map.of( + "reason", Component.text(mute.reason()), + "duration", Component.text(durationFormatter.formatRemaining(mute.expiresAt(), muteService.now())) + )); + }); + } +} diff --git a/src/main/java/org/kilka/moderationcommands/mute/YamlMuteRepository.java b/src/main/java/org/kilka/moderationcommands/mute/YamlMuteRepository.java new file mode 100644 index 0000000..8f24c4b --- /dev/null +++ b/src/main/java/org/kilka/moderationcommands/mute/YamlMuteRepository.java @@ -0,0 +1,174 @@ +package org.kilka.moderationcommands.mute; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.AtomicMoveNotSupportedException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; +import java.time.DateTimeException; +import java.time.Instant; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.InvalidConfigurationException; +import org.bukkit.configuration.file.YamlConfiguration; + +public final class YamlMuteRepository implements MuteRepository { + private static final int DATA_VERSION = 1; + + private final Path dataFile; + private volatile Map records; + + public YamlMuteRepository(Path dataFile) throws IOException, InvalidConfigurationException { + this.dataFile = dataFile; + this.records = Map.copyOf(load()); + } + + @Override + public Optional findActive(UUID uniqueId, Instant now) { + MuteRecord mute = records.get(uniqueId); + return mute != null && mute.isActiveAt(now) ? Optional.of(mute) : Optional.empty(); + } + + @Override + public Optional findActiveByLastName(String name, Instant now) { + MuteRecord match = null; + for (MuteRecord mute : records.values()) { + if (mute.isActiveAt(now) && mute.lastName().equalsIgnoreCase(name)) { + if (match != null && !match.uniqueId().equals(mute.uniqueId())) { + return Optional.empty(); + } + match = mute; + } + } + return Optional.ofNullable(match); + } + + @Override + public synchronized void upsert(MuteRecord mute) throws IOException { + Map updated = new HashMap<>(records); + updated.put(mute.uniqueId(), mute); + persist(updated); + records = Map.copyOf(updated); + } + + @Override + public synchronized boolean remove(UUID uniqueId) throws IOException { + if (!records.containsKey(uniqueId)) { + return false; + } + Map updated = new HashMap<>(records); + updated.remove(uniqueId); + persist(updated); + records = Map.copyOf(updated); + return true; + } + + @Override + public synchronized Set purgeExpired(Instant now) throws IOException { + Map updated = new HashMap<>(records); + Set expired = updated.values().stream() + .filter(mute -> !mute.isActiveAt(now)) + .map(MuteRecord::uniqueId) + .collect(java.util.stream.Collectors.toUnmodifiableSet()); + if (!expired.isEmpty()) { + expired.forEach(updated::remove); + persist(updated); + records = Map.copyOf(updated); + } + return expired; + } + + private Map load() throws IOException, InvalidConfigurationException { + if (!Files.exists(dataFile)) { + return Map.of(); + } + + YamlConfiguration yaml = new YamlConfiguration(); + yaml.load(dataFile.toFile()); + if (yaml.getInt("data-version", -1) != DATA_VERSION) { + throw new InvalidConfigurationException("Unsupported or missing mutes.yml data-version"); + } + + ConfigurationSection mutes = yaml.getConfigurationSection("mutes"); + if (mutes == null) { + return Map.of(); + } + + Map loaded = new HashMap<>(); + for (String uuidKey : mutes.getKeys(false)) { + try { + UUID uuid = UUID.fromString(uuidKey); + ConfigurationSection section = requireSection(mutes, uuidKey); + String lastName = requireString(section, "last-name"); + String actor = requireString(section, "actor"); + String reason = requireString(section, "reason"); + Instant issuedAt = Instant.parse(requireString(section, "issued-at")); + String expirationValue = section.getString("expires-at"); + Instant expiresAt = expirationValue == null ? null : Instant.parse(expirationValue); + MuteRecord previous = loaded.put( + uuid, + new MuteRecord(uuid, lastName, actor, reason, issuedAt, expiresAt) + ); + if (previous != null) { + throw new InvalidConfigurationException("Duplicate mute UUID: " + uuid); + } + } catch (IllegalArgumentException | DateTimeException exception) { + throw new InvalidConfigurationException("Invalid mute entry: " + uuidKey, exception); + } + } + return loaded; + } + + private void persist(Map snapshot) throws IOException { + YamlConfiguration yaml = new YamlConfiguration(); + yaml.set("data-version", DATA_VERSION); + for (MuteRecord mute : snapshot.values()) { + String path = "mutes." + mute.uniqueId(); + yaml.set(path + ".last-name", mute.lastName()); + yaml.set(path + ".actor", mute.actor()); + yaml.set(path + ".reason", mute.reason()); + yaml.set(path + ".issued-at", mute.issuedAt().toString()); + if (mute.expiresAt() != null) { + yaml.set(path + ".expires-at", mute.expiresAt().toString()); + } + } + + Path parent = dataFile.getParent(); + Files.createDirectories(parent); + Path temporaryFile = parent.resolve(dataFile.getFileName() + ".tmp"); + Files.writeString(temporaryFile, yaml.saveToString(), StandardCharsets.UTF_8); + try { + Files.move( + temporaryFile, + dataFile, + StandardCopyOption.ATOMIC_MOVE, + StandardCopyOption.REPLACE_EXISTING + ); + } catch (AtomicMoveNotSupportedException exception) { + Files.move(temporaryFile, dataFile, StandardCopyOption.REPLACE_EXISTING); + } + } + + private static ConfigurationSection requireSection(ConfigurationSection parent, String key) + throws InvalidConfigurationException { + ConfigurationSection section = parent.getConfigurationSection(key); + if (section == null) { + throw new InvalidConfigurationException("Expected section at mutes." + key); + } + return section; + } + + private static String requireString(ConfigurationSection section, String key) + throws InvalidConfigurationException { + String value = section.getString(key); + if (value == null || value.isBlank()) { + throw new InvalidConfigurationException("Missing or blank field " + section.getCurrentPath() + "." + key); + } + return value; + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..e702523 --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,46 @@ +mute: + integrations: + flectone: + enabled: true + voice: + enabled: true + permission: voicechat.speak + blocked-commands: + - msg + - tell + - w + - whisper + - reply + - r + - me + +messages: + prefix: "[Moderation] " + no-permission: "У вас нет права ." + unsupported-sender: "Эту команду может выполнить только игрок или обычная консоль." + usage-mute: "Использование: /mute [actor:] " + usage-unmute: "Использование: /unmute [actor:] [reason...]" + usage-ban: "Использование: /ban [actor:] " + usage-unban: "Использование: /unban [actor:] [reason...]" + usage-kick: "Использование: /kick [actor:] " + invalid-duration: "Неизвестный или недопустимый срок: ." + invalid-actor: "Аргумент actor: указан неверно." + player-actor-forbidden: "Игрок не может передавать actor: вручную." + missing-reason: "Необходимо указать причину." + target-not-found: "Профиль не найден среди известных серверу игроков. Можно указать UUID." + target-offline: "Игрок уже вышел с сервера." + no-active-mute: "У игрока нет активного мута." + no-active-ban: "У профиля нет активного бана." + storage-error: "Не удалось надёжно сохранить изменение. Наказание не применено." + action-failed: "Не удалось применить действие. Подробности записаны в журнал сервера." + mute-success: "Мут игрока установлен на . Автор: ." + mute-target: "Вам запрещён чат. Причина: . Модератор: . Срок: ." + unmute-success: "Мут игрока снят. Автор: ." + unmute-target: "Ваш мут снят. Модератор: . Причина снятия: ." + ban-success: "Профиль заблокирован на . Автор: ." + ban-disconnect: "Вы заблокированы на сервере.\nПричина: \nМодератор: \nСрок: " + unban-success: "Бан профиля снят. Автор: ." + kick-success: "Игрок исключён с сервера. Автор: ." + kick-disconnect: "Вы исключены с сервера.\nПричина: \nМодератор: " + muted-attempt: "Вы не можете писать. Причина: . Осталось: ." + reason-not-specified: "не указана" diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..62a3878 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,54 @@ +name: ModerationCommands +description: $description +prefix: ModerationCommands +version: '${version}' + +main: org.kilka.moderationcommands.ModerationCommandsPlugin +api-version: '26.1.2' +load: POSTWORLD +softdepend: [ FlectonePulse, LuckPerms ] + +authors: [ Kilka_v_HJIebe ] + +commands: + mute: + description: Mute a player + permission: moderation.command.mute + unmute: + description: Remove an active mute + permission: moderation.command.unmute + ban: + description: Ban a player profile + permission: moderation.command.ban + unban: + description: Remove an active profile ban + permission: moderation.command.unban + kick: + description: Kick an online player + permission: moderation.command.kick + +permissions: + moderation.command.*: + description: Allows all ModerationCommands commands + default: op + children: + moderation.command.mute: true + moderation.command.unmute: true + moderation.command.ban: true + moderation.command.unban: true + moderation.command.kick: true + moderation.command.mute: + description: Allows /mute + default: op + moderation.command.unmute: + description: Allows /unmute + default: op + moderation.command.ban: + description: Allows /ban + default: op + moderation.command.unban: + description: Allows /unban + default: op + moderation.command.kick: + description: Allows /kick + default: op diff --git a/src/test/java/org/kilka/moderationcommands/common/ActorReasonParserTest.java b/src/test/java/org/kilka/moderationcommands/common/ActorReasonParserTest.java new file mode 100644 index 0000000..3428475 --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/common/ActorReasonParserTest.java @@ -0,0 +1,70 @@ +package org.kilka.moderationcommands.common; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.Test; + +class ActorReasonParserTest { + private final ActorReasonParser parser = new ActorReasonParser(); + + @Test + void extractsConsoleActorAndRemovesItFromReason() throws Exception { + ActorReasonParser.ActorReason result = parser.parse( + true, + "Console", + new String[] {"Steve", "1h", "флуд", "actor:Moderator", "в", "чате"}, + 2, + true + ); + + assertEquals("Moderator", result.actor()); + assertEquals("флуд в чате", result.reason()); + } + + @Test + void usesConsoleWhenActorIsAbsent() throws Exception { + ActorReasonParser.ActorReason result = parser.parse( + true, + "Console", + new String[] {"Steve", "нарушение"}, + 1, + true + ); + + assertEquals("CONSOLE", result.actor()); + assertEquals("нарушение", result.reason()); + } + + @Test + void rejectsActorFromPlayerWithoutChangingTheAuthor() { + ValidationException exception = assertThrows(ValidationException.class, () -> parser.parse( + false, + "RealModerator", + new String[] {"Steve", "actor:Fake", "причина"}, + 1, + true + )); + + assertEquals("player-actor-forbidden", exception.messageKey()); + } + + @Test + void rejectsDuplicateMalformedAndMissingValues() { + assertMessageKey("invalid-actor", new String[] {"actor:One", "actor:Two", "reason"}, false); + assertMessageKey("invalid-actor", new String[] {"actor:", "reason"}, false); + assertMessageKey("invalid-actor", new String[] {"actor:имя", "reason"}, false); + assertMessageKey("missing-reason", new String[] {"actor:Moderator"}, true); + } + + private void assertMessageKey(String expected, String[] arguments, boolean reasonRequired) { + ValidationException exception = assertThrows(ValidationException.class, () -> parser.parse( + true, + "Console", + arguments, + 0, + reasonRequired + )); + assertEquals(expected, exception.messageKey()); + } +} diff --git a/src/test/java/org/kilka/moderationcommands/common/BlockedCommandMatcherTest.java b/src/test/java/org/kilka/moderationcommands/common/BlockedCommandMatcherTest.java new file mode 100644 index 0000000..a73af2d --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/common/BlockedCommandMatcherTest.java @@ -0,0 +1,26 @@ +package org.kilka.moderationcommands.common; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.Set; +import org.junit.jupiter.api.Test; + +class BlockedCommandMatcherTest { + private final BlockedCommandMatcher matcher = new BlockedCommandMatcher(Set.of("msg", "me", "essentials:reply")); + + @Test + void blocksPlainCaseInsensitiveAndNamespacedCommands() { + assertTrue(matcher.isBlocked("/msg Steve hello")); + assertTrue(matcher.isBlocked("/MSG Steve hello")); + assertTrue(matcher.isBlocked("/minecraft:me waves")); + assertTrue(matcher.isBlocked("/essentials:reply hello")); + } + + @Test + void doesNotMatchArgumentsOrPrefixes() { + assertFalse(matcher.isBlocked("/message Steve hello")); + assertFalse(matcher.isBlocked("/help msg")); + assertFalse(matcher.isBlocked("/msgpack reload")); + } +} diff --git a/src/test/java/org/kilka/moderationcommands/common/DurationParserTest.java b/src/test/java/org/kilka/moderationcommands/common/DurationParserTest.java new file mode 100644 index 0000000..a371b36 --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/common/DurationParserTest.java @@ -0,0 +1,37 @@ +package org.kilka.moderationcommands.common; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.Instant; +import org.junit.jupiter.api.Test; + +class DurationParserTest { + private final DurationParser parser = new DurationParser(); + + @Test + void parsesRequiredAndGeneralizedDurations() { + assertEquals(3_600, parser.parse("1h").orElseThrow().seconds()); + assertEquals(86_400, parser.parse("1d").orElseThrow().seconds()); + assertEquals(604_800, parser.parse("7d").orElseThrow().seconds()); + assertEquals(2_592_000, parser.parse("30d").orElseThrow().seconds()); + assertEquals(31_536_000, parser.parse("1y").orElseThrow().seconds()); + assertEquals(90, parser.parse("90S").orElseThrow().seconds()); + assertTrue(parser.parse("PERMANENT").orElseThrow().permanent()); + } + + @Test + void rejectsInvalidValuesAndArithmeticOverflow() { + for (String input : new String[] {"0h", "-1h", "+1h", "hour", "1x", "", "999999999999999999999999h"}) { + assertTrue(parser.parse(input).isEmpty(), input); + } + assertTrue(parser.parse("9223372036854775807y").isEmpty()); + } + + @Test + void rejectsExpirationOverflow() { + assertFalse(parser.parse("1s", Instant.MAX).isPresent()); + assertTrue(parser.parse("1s", Instant.EPOCH).isPresent()); + } +} diff --git a/src/test/java/org/kilka/moderationcommands/config/DefaultConfigTest.java b/src/test/java/org/kilka/moderationcommands/config/DefaultConfigTest.java new file mode 100644 index 0000000..695d662 --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/config/DefaultConfigTest.java @@ -0,0 +1,53 @@ +package org.kilka.moderationcommands.config; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Set; +import org.bukkit.configuration.file.YamlConfiguration; +import org.junit.jupiter.api.Test; + +class DefaultConfigTest { + @Test + void defaultConfigContainsRequiredCommandsAndValidMessages() { + YamlConfiguration configuration = YamlConfiguration.loadConfiguration(new InputStreamReader( + getClass().getClassLoader().getResourceAsStream("config.yml"), + StandardCharsets.UTF_8 + )); + + ModerationSettings settings = ModerationSettings.load(configuration); + assertTrue(settings.blockedCommands().containsAll(Set.of( + "msg", "tell", "w", "whisper", "reply", "r", "me" + ))); + assertTrue(settings.flectoneEnabled()); + assertTrue(settings.voiceEnabled()); + assertEquals("voicechat.speak", settings.voicePermission()); + assertDoesNotThrow(() -> new MessageService(configuration)); + } + + @Test + void missingIntegrationSettingsUseBackwardsCompatibleDefaults() { + YamlConfiguration configuration = new YamlConfiguration(); + configuration.set("mute.blocked-commands", List.of("msg")); + + ModerationSettings settings = ModerationSettings.load(configuration); + + assertTrue(settings.flectoneEnabled()); + assertTrue(settings.voiceEnabled()); + assertEquals("voicechat.speak", settings.voicePermission()); + } + + @Test + void rejectsInvalidVoicePermission() { + YamlConfiguration configuration = new YamlConfiguration(); + configuration.set("mute.blocked-commands", List.of("msg")); + configuration.set("mute.voice.permission", "voicechat speak"); + + assertThrows(IllegalArgumentException.class, () -> ModerationSettings.load(configuration)); + } +} diff --git a/src/test/java/org/kilka/moderationcommands/config/PluginDescriptorTest.java b/src/test/java/org/kilka/moderationcommands/config/PluginDescriptorTest.java new file mode 100644 index 0000000..492e19a --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/config/PluginDescriptorTest.java @@ -0,0 +1,32 @@ +package org.kilka.moderationcommands.config; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.util.List; +import org.bukkit.configuration.file.YamlConfiguration; +import org.junit.jupiter.api.Test; + +class PluginDescriptorTest { + private static final List COMMANDS = List.of("mute", "unmute", "ban", "unban", "kick"); + + @Test + void commandsExposeTheSamePermissionsCheckedByExecutors() { + YamlConfiguration descriptor = YamlConfiguration.loadConfiguration(new InputStreamReader( + getClass().getClassLoader().getResourceAsStream("plugin.yml"), + StandardCharsets.UTF_8 + )); + + for (String command : COMMANDS) { + assertEquals( + "moderation.command." + command, + descriptor.getString("commands." + command + ".permission") + ); + assertTrue(descriptor.getBoolean( + "permissions.moderation.command.*.children.moderation.command." + command + )); + } + } +} diff --git a/src/test/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.java b/src/test/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.java new file mode 100644 index 0000000..caabfb0 --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/integration/flectone/FlectoneChatMuteIntegrationTest.java @@ -0,0 +1,88 @@ +package org.kilka.moderationcommands.integration.flectone; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.Instant; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicReference; +import net.flectone.pulse.config.setting.LocalizationSetting; +import net.flectone.pulse.model.entity.FEntity; +import net.flectone.pulse.model.event.Event; +import net.flectone.pulse.model.event.EventMetadata; +import net.flectone.pulse.model.event.message.MessagePrepareEvent; +import net.flectone.pulse.util.constant.ModuleName; +import org.junit.jupiter.api.Test; +import org.kilka.moderationcommands.mute.MuteRecord; + +class FlectoneChatMuteIntegrationTest { + private static final UUID PLAYER_ID = UUID.fromString("8decc9a3-91ca-4a26-8b27-dca74789947f"); + private static final MuteRecord ACTIVE_MUTE = new MuteRecord( + PLAYER_ID, + "Steve", + "Moderator", + "флуд", + Instant.parse("2026-08-02T12:00:00Z"), + Instant.parse("2026-08-02T13:00:00Z") + ); + + @Test + void cancelsFlectoneChatAndNotifiesMutedSender() { + AtomicReference notification = new AtomicReference<>(); + FlectoneChatMuteIntegration.ChatListener listener = new FlectoneChatMuteIntegration.ChatListener( + uniqueId -> uniqueId.equals(PLAYER_ID) ? Optional.of(ACTIVE_MUTE) : Optional.empty(), + (uniqueId, mute) -> notification.set(mute) + ); + + Event result = listener.onMessagePrepare(event(ModuleName.MESSAGE_CHAT)); + + assertTrue(result.cancelled()); + assertSame(ACTIVE_MUTE, notification.get()); + } + + @Test + void leavesOtherModulesAndUnmutedPlayersUntouched() { + FlectoneChatMuteIntegration.ChatListener listener = new FlectoneChatMuteIntegration.ChatListener( + uniqueId -> Optional.empty(), + (uniqueId, mute) -> { + throw new AssertionError("Unexpected notification"); + } + ); + MessagePrepareEvent otherModule = event(ModuleName.COMMAND_TELL); + MessagePrepareEvent chat = event(ModuleName.MESSAGE_CHAT); + + assertSame(otherModule, listener.onMessagePrepare(otherModule)); + Event chatResult = listener.onMessagePrepare(chat); + assertSame(chat, chatResult); + assertFalse(chatResult.cancelled()); + } + + @Test + void disabledPermanentListenerBecomesNoOp() { + FlectoneChatMuteIntegration.ChatListener listener = new FlectoneChatMuteIntegration.ChatListener( + uniqueId -> Optional.of(ACTIVE_MUTE), + (uniqueId, mute) -> { + throw new AssertionError("Unexpected notification"); + } + ); + listener.disable(); + MessagePrepareEvent chat = event(ModuleName.MESSAGE_CHAT); + + assertSame(chat, listener.onMessagePrepare(chat)); + } + + private static MessagePrepareEvent event(ModuleName moduleName) { + FEntity sender = FEntity.builder() + .uuid(PLAYER_ID) + .name("Steve") + .type("PLAYER") + .build(); + EventMetadata metadata = EventMetadata.builder() + .sender(sender) + .format("") + .build(); + return new MessagePrepareEvent(moduleName, "", metadata); + } +} diff --git a/src/test/java/org/kilka/moderationcommands/mute/YamlMuteRepositoryTest.java b/src/test/java/org/kilka/moderationcommands/mute/YamlMuteRepositoryTest.java new file mode 100644 index 0000000..c3efd50 --- /dev/null +++ b/src/test/java/org/kilka/moderationcommands/mute/YamlMuteRepositoryTest.java @@ -0,0 +1,109 @@ +package org.kilka.moderationcommands.mute; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.Instant; +import java.util.UUID; +import org.bukkit.configuration.InvalidConfigurationException; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +class YamlMuteRepositoryTest { + @TempDir + Path temporaryDirectory; + + @Test + void persistsTemporaryAndPermanentMutesAcrossReloads() throws Exception { + Path file = temporaryDirectory.resolve("mutes.yml"); + UUID temporaryId = UUID.randomUUID(); + UUID permanentId = UUID.randomUUID(); + Instant issuedAt = Instant.parse("2026-08-02T12:00:00Z"); + + YamlMuteRepository repository = new YamlMuteRepository(file); + repository.upsert(new MuteRecord( + temporaryId, + "Steve", + "Moderator", + "флуд", + issuedAt, + issuedAt.plusSeconds(3_600) + )); + repository.upsert(new MuteRecord( + permanentId, + "Alex", + "CONSOLE", + "спам", + issuedAt, + null + )); + + YamlMuteRepository reloaded = new YamlMuteRepository(file); + assertEquals("Steve", reloaded.findActive(temporaryId, issuedAt).orElseThrow().lastName()); + assertEquals("Alex", reloaded.findActiveByLastName("alex", issuedAt).orElseThrow().lastName()); + assertEquals(null, reloaded.findActive(permanentId, issuedAt).orElseThrow().expiresAt()); + } + + @Test + void repeatMuteReplacesTheUuidEntry() throws Exception { + Path file = temporaryDirectory.resolve("mutes.yml"); + UUID uuid = UUID.randomUUID(); + Instant issuedAt = Instant.parse("2026-08-02T12:00:00Z"); + YamlMuteRepository repository = new YamlMuteRepository(file); + + repository.upsert(new MuteRecord(uuid, "OldName", "First", "old", issuedAt, null)); + repository.upsert(new MuteRecord(uuid, "NewName", "Second", "new", issuedAt.plusSeconds(1), null)); + + MuteRecord actual = new YamlMuteRepository(file).findActive(uuid, issuedAt.plusSeconds(2)).orElseThrow(); + assertEquals("NewName", actual.lastName()); + assertEquals("Second", actual.actor()); + assertEquals("new", actual.reason()); + } + + @Test + void expirationIsImmediateAndCleanupIsPersistent() throws Exception { + Path file = temporaryDirectory.resolve("mutes.yml"); + UUID uuid = UUID.randomUUID(); + Instant issuedAt = Instant.parse("2026-08-02T12:00:00Z"); + YamlMuteRepository repository = new YamlMuteRepository(file); + repository.upsert(new MuteRecord(uuid, "Steve", "Moderator", "reason", issuedAt, issuedAt.plusSeconds(1))); + + assertTrue(repository.findActive(uuid, issuedAt).isPresent()); + assertFalse(repository.findActive(uuid, issuedAt.plusSeconds(1)).isPresent()); + assertEquals(java.util.Set.of(uuid), repository.purgeExpired(issuedAt.plusSeconds(1))); + assertFalse(new YamlMuteRepository(file).findActive(uuid, issuedAt).isPresent()); + } + + @Test + void failedAtomicWriteKeepsThePublishedSnapshot() throws Exception { + Path file = temporaryDirectory.resolve("mutes.yml"); + Path temporaryFile = temporaryDirectory.resolve("mutes.yml.tmp"); + UUID originalId = UUID.randomUUID(); + UUID rejectedId = UUID.randomUUID(); + Instant issuedAt = Instant.parse("2026-08-02T12:00:00Z"); + YamlMuteRepository repository = new YamlMuteRepository(file); + repository.upsert(new MuteRecord(originalId, "Steve", "Moderator", "first", issuedAt, null)); + Files.createDirectory(temporaryFile); + + assertThrows(IOException.class, () -> repository.upsert( + new MuteRecord(rejectedId, "Alex", "Moderator", "second", issuedAt, null) + )); + assertTrue(repository.findActive(originalId, issuedAt).isPresent()); + assertFalse(repository.findActive(rejectedId, issuedAt).isPresent()); + assertFalse(new YamlMuteRepository(file).findActive(rejectedId, issuedAt).isPresent()); + } + + @Test + void rejectsCorruptedStorageWithoutOverwritingIt() throws IOException { + Path file = temporaryDirectory.resolve("mutes.yml"); + Files.writeString(file, "data-version: 999\nmutes: {}\n"); + + assertThrows(InvalidConfigurationException.class, () -> new YamlMuteRepository(file)); + assertTrue(Files.readString(file).contains("data-version: 999")); + } +}

+

All Results

+
+ +
+

Gradle Test Run :test

+

Gradle Test Run :test

+
+ +
+

summary

+
+
+ + + + + +
+
+ + + + + + + +
+
+
21
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

skipped

+
+
+
+
2.273s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChildNameTestsFailuresSkippedDurationSuccess rate
+ActorReasonParserTest +org.kilka.moderationcommands.common.ActorReasonParserTest4000.134s100%
+BlockedCommandMatcherTest +org.kilka.moderationcommands.common.BlockedCommandMatcherTest2000.013s100%
+DurationParserTest +org.kilka.moderationcommands.common.DurationParserTest3000.012s100%
+DefaultConfigTest +org.kilka.moderationcommands.config.DefaultConfigTest3000.302s100%
+PluginDescriptorTest +org.kilka.moderationcommands.config.PluginDescriptorTest1000.017s100%
+FlectoneChatMuteIntegrationTest +org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest3000.043s100%
+YamlMuteRepositoryTest +org.kilka.moderationcommands.mute.YamlMuteRepositoryTest5000.092s100%
+
+
+
+
+
+ +