From a9d7fbcd147e06318ba082417568d025a3c3d489 Mon Sep 17 00:00:00 2001 From: Gambit Date: Sat, 18 May 2024 19:41:42 -0400 Subject: [PATCH] 0.1.42 --- .github/workflows/main.yml | 18 +- module.json | 3 +- .../{000355.log => 000381.log} | 0 packs/gps-3rd-party-features/CURRENT | 2 +- packs/gps-3rd-party-features/LOG | 16 +- packs/gps-3rd-party-features/LOG.old | 11 +- .../{MANIFEST-000353 => MANIFEST-000379} | Bin 200 -> 200 bytes .../{000353.log => 000379.log} | 0 .../{000186.ldb => 000381.ldb} | Bin 21038 -> 21017 bytes packs/gps-3rd-party-items/CURRENT | 2 +- packs/gps-3rd-party-items/LOG | 23 +- packs/gps-3rd-party-items/LOG.old | 11 +- packs/gps-3rd-party-items/MANIFEST-000351 | Bin 224 -> 0 bytes packs/gps-3rd-party-items/MANIFEST-000377 | Bin 0 -> 499 bytes .../{000354.log => 000380.log} | 0 packs/gps-3rd-party-spells/CURRENT | 2 +- packs/gps-3rd-party-spells/LOG | 16 +- packs/gps-3rd-party-spells/LOG.old | 11 +- .../{MANIFEST-000352 => MANIFEST-000378} | Bin 199 -> 199 bytes packs/gps-actors/{000826.log => 000852.log} | 0 packs/gps-actors/CURRENT | 2 +- packs/gps-actors/LOG | 16 +- packs/gps-actors/LOG.old | 11 +- .../{MANIFEST-000824 => MANIFEST-000850} | Bin 272 -> 272 bytes packs/gps-class-features/001970.ldb | Bin 111157 -> 0 bytes .../{002001.log => 002027.log} | 0 packs/gps-class-features/002029.ldb | Bin 0 -> 99800 bytes packs/gps-class-features/CURRENT | 2 +- packs/gps-class-features/LOG | 23 +- packs/gps-class-features/LOG.old | 11 +- packs/gps-class-features/MANIFEST-001999 | Bin 287 -> 0 bytes packs/gps-class-features/MANIFEST-002025 | Bin 0 -> 566 bytes packs/gps-generic-features/002061.ldb | Bin 31917 -> 0 bytes .../{002064.log => 002095.log} | 0 packs/gps-generic-features/002098.ldb | Bin 0 -> 25103 bytes packs/gps-generic-features/CURRENT | 2 +- packs/gps-generic-features/LOG | 32 +- packs/gps-generic-features/LOG.old | 18 +- packs/gps-generic-features/MANIFEST-002062 | Bin 285 -> 0 bytes packs/gps-generic-features/MANIFEST-002092 | Bin 0 -> 789 bytes .../{001982.log => 002008.log} | 0 packs/gps-homebrew-features/CURRENT | 2 +- packs/gps-homebrew-features/LOG | 16 +- packs/gps-homebrew-features/LOG.old | 11 +- .../{MANIFEST-001980 => MANIFEST-002006} | Bin 285 -> 285 bytes .../{001991.log => 002017.log} | 0 packs/gps-homebrew-items/CURRENT | 2 +- packs/gps-homebrew-items/LOG | 16 +- packs/gps-homebrew-items/LOG.old | 11 +- .../{MANIFEST-001989 => MANIFEST-002015} | Bin 235 -> 235 bytes .../{001659.log => 001685.log} | 0 packs/gps-homebrew-spells/CURRENT | 2 +- packs/gps-homebrew-spells/LOG | 16 +- packs/gps-homebrew-spells/LOG.old | 11 +- .../{MANIFEST-001657 => MANIFEST-001683} | Bin 225 -> 225 bytes packs/gps-items/{001983.log => 002009.log} | 0 packs/gps-items/CURRENT | 2 +- packs/gps-items/LOG | 16 +- packs/gps-items/LOG.old | 11 +- .../{MANIFEST-001981 => MANIFEST-002007} | Bin 201 -> 201 bytes packs/gps-monster-features/001894.ldb | Bin 19473 -> 0 bytes packs/gps-monster-features/001995.ldb | Bin 0 -> 26259 bytes .../{001979.log => 002008.log} | 0 packs/gps-monster-features/CURRENT | 2 +- packs/gps-monster-features/LOG | 16 +- packs/gps-monster-features/LOG.old | 11 +- packs/gps-monster-features/MANIFEST-001977 | Bin 260 -> 0 bytes packs/gps-monster-features/MANIFEST-002006 | Bin 0 -> 285 bytes packs/gps-spells/{002014.log => 002044.log} | 0 packs/gps-spells/{002007.ldb => 002047.ldb} | Bin 152944 -> 153732 bytes packs/gps-spells/CURRENT | 2 +- packs/gps-spells/LOG | 31 +- packs/gps-spells/LOG.old | 11 +- packs/gps-spells/MANIFEST-002012 | Bin 260 -> 0 bytes packs/gps-spells/MANIFEST-002041 | Bin 0 -> 588 bytes scripts/helpers.js | 42 +- scripts/macros/counterspell.js | 214 ++++------ scripts/macros/cuttingWords.js | 159 +++----- scripts/macros/indomitable.js | 257 ++++++++++++ scripts/macros/interception.js | 89 ++-- .../opportunityAttack.js} | 25 +- scripts/macros/poetryInMisery.js | 76 ++-- scripts/macros/protection.js | 192 +++++++++ scripts/macros/riposte.js | 288 +++++++++++++ scripts/macros/sentinel.js | 266 ++++++++++++ scripts/macros/silveryBarbs.js | 223 ++++------- scripts/module.js | 40 +- scripts/settings.js | 379 ++++++++++++++++-- templates/classFeaturesSettingsMenu.html | 239 +++++++++++ templates/genericFeatureSettingsMenu.html | 168 ++++++++ templates/homebrewSettingsMenu.html | 31 -- templates/spellSettingsMenu.html | 180 +++++++++ 92 files changed, 2554 insertions(+), 735 deletions(-) rename packs/gps-3rd-party-features/{000355.log => 000381.log} (100%) rename packs/gps-3rd-party-features/{MANIFEST-000353 => MANIFEST-000379} (64%) rename packs/gps-3rd-party-items/{000353.log => 000379.log} (100%) rename packs/gps-3rd-party-items/{000186.ldb => 000381.ldb} (65%) delete mode 100644 packs/gps-3rd-party-items/MANIFEST-000351 create mode 100644 packs/gps-3rd-party-items/MANIFEST-000377 rename packs/gps-3rd-party-spells/{000354.log => 000380.log} (100%) rename packs/gps-3rd-party-spells/{MANIFEST-000352 => MANIFEST-000378} (64%) rename packs/gps-actors/{000826.log => 000852.log} (100%) rename packs/gps-actors/{MANIFEST-000824 => MANIFEST-000850} (70%) delete mode 100644 packs/gps-class-features/001970.ldb rename packs/gps-class-features/{002001.log => 002027.log} (100%) create mode 100644 packs/gps-class-features/002029.ldb delete mode 100644 packs/gps-class-features/MANIFEST-001999 create mode 100644 packs/gps-class-features/MANIFEST-002025 delete mode 100644 packs/gps-generic-features/002061.ldb rename packs/gps-generic-features/{002064.log => 002095.log} (100%) create mode 100644 packs/gps-generic-features/002098.ldb delete mode 100644 packs/gps-generic-features/MANIFEST-002062 create mode 100644 packs/gps-generic-features/MANIFEST-002092 rename packs/gps-homebrew-features/{001982.log => 002008.log} (100%) rename packs/gps-homebrew-features/{MANIFEST-001980 => MANIFEST-002006} (67%) rename packs/gps-homebrew-items/{001991.log => 002017.log} (100%) rename packs/gps-homebrew-items/{MANIFEST-001989 => MANIFEST-002015} (81%) rename packs/gps-homebrew-spells/{001659.log => 001685.log} (100%) rename packs/gps-homebrew-spells/{MANIFEST-001657 => MANIFEST-001683} (56%) rename packs/gps-items/{001983.log => 002009.log} (100%) rename packs/gps-items/{MANIFEST-001981 => MANIFEST-002007} (63%) delete mode 100644 packs/gps-monster-features/001894.ldb create mode 100644 packs/gps-monster-features/001995.ldb rename packs/gps-monster-features/{001979.log => 002008.log} (100%) delete mode 100644 packs/gps-monster-features/MANIFEST-001977 create mode 100644 packs/gps-monster-features/MANIFEST-002006 rename packs/gps-spells/{002014.log => 002044.log} (100%) rename packs/gps-spells/{002007.ldb => 002047.ldb} (87%) delete mode 100644 packs/gps-spells/MANIFEST-002012 create mode 100644 packs/gps-spells/MANIFEST-002041 create mode 100644 scripts/macros/indomitable.js rename scripts/{macroFunctions.js => macros/opportunityAttack.js} (85%) create mode 100644 scripts/macros/protection.js create mode 100644 scripts/macros/riposte.js create mode 100644 scripts/macros/sentinel.js create mode 100644 templates/classFeaturesSettingsMenu.html create mode 100644 templates/genericFeatureSettingsMenu.html delete mode 100644 templates/homebrewSettingsMenu.html create mode 100644 templates/spellSettingsMenu.html diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0dfdc1ad..d797b124 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,8 +16,24 @@ jobs: - name: Set Release Notes for Github id: set-release-notes-github run: | + echo "- General: GM Mirror Dialog will now sync the state of the pause button across both clients. This addresses an issue where the user could pause their dialog but the GMs would close and complete as No if they did not also pause theirs, or vice versa. Started to generalize some functions throughout automations and cleaned up all of the 3rd party automations to a certain extent." >> release_notes.txt + echo "- General: Complete settings rework. Item types are now selectable buttons with a list of automations that can be enabled within that item type. Should make navigating much easier. Added Debug option to help with identifying where a 3rd party reaction may be failing." >> release_notes.txt echo "- Updates:" >> release_notes.txt - echo " - Opportunity Attack: Added settings option Enable Opportunity Attack Legacy System. If set this will use token attacher to attach the template to a token instead of using Walled Templates. This will allow Drag Ruler to continue to work. If this setting is off, Elevation Ruler must be used in place of Drag Ruler, and Walled Templates will be used for attaching the template to a token. Some small bugfixes I cant remember as well" >> release_notes.txt + echo " - Opportunity Attack: Added custom handling for Booming Blade. Added additional validation for metric vs imperial calculations. Changed setting name for enabling legacy setup (token attacher + drag ruler) to Enable Legacy Template Attachment to reduce confusion. Added a workaround for Walled Templates attachment throwing an error on movement for player characters. Removed Riposte and Sentinel from the Opportunity Attack Item, should make OA deployment lighter. Added check to prevent enabling/disabling OA via settings during combat as it wont actually effect the current combat and can cause downline issues if proper cleanup is not allowed to occur, so the user will receive a message that this must be done outside combat." >> release_notes.txt + echo " - Black Tentacles: Remove Warpgate dependency for token movement when restrained." >> release_notes.txt + echo " - Heated Body: Updated to be more efficient. Added folders/implementation for Remorhaz and Reduced threat Remorhaz." >> release_notes.txt + echo " - Tentacles: Updated to be more efficient." >> release_notes.txt + echo " - Sentinel: Item implementation via OA completely removed, can now be enabled in the Module settings. Now uses additional functionality afforded by the module including pause and GM Mirror Dialog" >> release_notes.txt + echo " - Maneuvers - Riposte: Item implementation via OA completely removed, can now be enabled in the Module settings. Now uses additional functionality afforded by the module including pause and GM Mirror Dialog" >> release_notes.txt + echo " - Indomitable: Item implementation completely removed, can now be enabled in the Module settings. Make sure to update to the latest version of the item as well. Now uses additional functionality afforded by the module including pause and GM Mirror Dialog" >> release_notes.txt + echo " - Fighting Style - Protection: Item implementation completely removed, can now be enabled in the Module settings. Make sure to update to the latest version of the item as well. Now uses additional functionality afforded by the module including pause and GM Mirror Dialog" >> release_notes.txt + echo "- Bugfixes:" >> release_notes.txt + echo " - Motivational Speech: Some cleanup of the code and various small bugfixes" >> release_notes.txt + echo " - Scatter: A few small issues resolved. Will be looking at migrating the teleport function away from Warpgate in the future." >> release_notes.txt + echo " - Cloud of Daggers: A number of bugfixes and cleanup." >> release_notes.txt + echo " - Roksjas Husk: A number of bugfixes." >> release_notes.txt + echo " - Opportunity Attack: Fixed bug where per turn OA settings would run even if OA was disabled in settings." >> release_notes.txt + echo " - Fighting Style - Interception: Added missing proficiency bonus to d10 roll." >> release_notes.txt echo "release-notes-github<> $GITHUB_ENV cat release_notes.txt >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV diff --git a/module.json b/module.json index edb907d0..d7a6d4d8 100644 --- a/module.json +++ b/module.json @@ -7,7 +7,7 @@ "name": "Gambit" } ], - "version": "0.1.41", + "version": "0.1.42", "compatibility": { "minimum": "11", "verified": "11", @@ -126,7 +126,6 @@ ], "scripts": [ "scripts/integrations/cpr.js", - "scripts/macroFunctions.js", "scripts/settings.js" ], "relationships": { diff --git a/packs/gps-3rd-party-features/000355.log b/packs/gps-3rd-party-features/000381.log similarity index 100% rename from packs/gps-3rd-party-features/000355.log rename to packs/gps-3rd-party-features/000381.log diff --git a/packs/gps-3rd-party-features/CURRENT b/packs/gps-3rd-party-features/CURRENT index 70d0528e..2ab0fa64 100644 --- a/packs/gps-3rd-party-features/CURRENT +++ b/packs/gps-3rd-party-features/CURRENT @@ -1 +1 @@ -MANIFEST-000353 +MANIFEST-000379 diff --git a/packs/gps-3rd-party-features/LOG b/packs/gps-3rd-party-features/LOG index 689a55f9..306dd44b 100644 --- a/packs/gps-3rd-party-features/LOG +++ b/packs/gps-3rd-party-features/LOG @@ -1,8 +1,8 @@ -2024/05/10-18:11:17.331 7278 Recovering log #351 -2024/05/10-18:11:17.342 7278 Delete type=0 #351 -2024/05/10-18:11:17.342 7278 Delete type=3 #349 -2024/05/10-18:13:00.706 358c Level-0 table #356: started -2024/05/10-18:13:00.706 358c Level-0 table #356: 0 bytes OK -2024/05/10-18:13:00.711 358c Delete type=0 #354 -2024/05/10-18:13:00.724 358c Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.724 358c Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.912 19eac Recovering log #378 +2024/05/18-14:08:11.918 19eac Delete type=0 #378 +2024/05/18-14:08:11.918 19eac Delete type=3 #377 +2024/05/18-19:40:28.557 18fb8 Level-0 table #382: started +2024/05/18-19:40:28.557 18fb8 Level-0 table #382: 0 bytes OK +2024/05/18-19:40:28.559 18fb8 Delete type=0 #380 +2024/05/18-19:40:28.572 18fb8 Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.572 18fb8 Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) diff --git a/packs/gps-3rd-party-features/LOG.old b/packs/gps-3rd-party-features/LOG.old index e0da88c6..e30b0e70 100644 --- a/packs/gps-3rd-party-features/LOG.old +++ b/packs/gps-3rd-party-features/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.921 72c0 Recovering log #347 -2024/05/10-17:34:18.928 72c0 Delete type=0 #347 -2024/05/10-17:34:18.928 72c0 Delete type=3 #345 -2024/05/10-18:08:06.791 358c Level-0 table #352: started -2024/05/10-18:08:06.791 358c Level-0 table #352: 0 bytes OK -2024/05/10-18:08:06.794 358c Delete type=0 #350 -2024/05/10-18:08:06.795 358c Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.795 358c Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.254 20538 Recovering log #375 +2024/05/17-18:27:08.259 20538 Delete type=0 #375 +2024/05/17-18:27:08.259 20538 Delete type=3 #373 diff --git a/packs/gps-3rd-party-features/MANIFEST-000353 b/packs/gps-3rd-party-features/MANIFEST-000379 similarity index 64% rename from packs/gps-3rd-party-features/MANIFEST-000353 rename to packs/gps-3rd-party-features/MANIFEST-000379 index 594e66db7dc01b9f6b6a0929624dd4b1a101063a..19f6b6e306f018643c2a504893b606d9b91d1ddc 100644 GIT binary patch delta 41 scmX@Xc!F`lGNq&2-@W2uU}XBk#L2+?mx+bX%(cc1B=8p`@E<4u053QT&j0`b delta 41 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 Bg@phB diff --git a/packs/gps-3rd-party-items/CURRENT b/packs/gps-3rd-party-items/CURRENT index 0ed38518..f5f405ce 100644 --- a/packs/gps-3rd-party-items/CURRENT +++ b/packs/gps-3rd-party-items/CURRENT @@ -1 +1 @@ -MANIFEST-000351 +MANIFEST-000377 diff --git a/packs/gps-3rd-party-items/LOG b/packs/gps-3rd-party-items/LOG index b48898eb..fedbfa19 100644 --- a/packs/gps-3rd-party-items/LOG +++ b/packs/gps-3rd-party-items/LOG @@ -1,8 +1,15 @@ -2024/05/10-18:11:17.353 7284 Recovering log #349 -2024/05/10-18:11:17.361 7284 Delete type=0 #349 -2024/05/10-18:11:17.362 7284 Delete type=3 #347 -2024/05/10-18:13:00.716 358c Level-0 table #354: started -2024/05/10-18:13:00.716 358c Level-0 table #354: 0 bytes OK -2024/05/10-18:13:00.720 358c Delete type=0 #352 -2024/05/10-18:13:00.724 358c Manual compaction at level-0 from '!items!A4JIbc14vM5IKbuT' @ 72057594037927935 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.724 358c Manual compaction at level-1 from '!items!A4JIbc14vM5IKbuT' @ 72057594037927935 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.923 13dc Recovering log #376 +2024/05/18-14:08:11.929 13dc Delete type=0 #376 +2024/05/18-14:08:11.929 13dc Delete type=3 #375 +2024/05/18-19:40:28.562 18fb8 Level-0 table #380: started +2024/05/18-19:40:28.569 18fb8 Level-0 table #380: 5264 bytes OK +2024/05/18-19:40:28.572 18fb8 Delete type=0 #378 +2024/05/18-19:40:28.572 18fb8 Manual compaction at level-0 from '!items!A4JIbc14vM5IKbuT' @ 72057594037927935 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.572 18fb8 Manual compaction at level-1 from '!items!A4JIbc14vM5IKbuT' @ 72057594037927935 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at '!items.effects!InpV0vOrIiMGHMx2.3KDzdYuLCRwUhQUK' @ 27 : 1 +2024/05/18-19:40:28.572 18fb8 Compacting 1@1 + 1@2 files +2024/05/18-19:40:28.578 18fb8 Generated table #381@1: 13 keys, 21017 bytes +2024/05/18-19:40:28.578 18fb8 Compacted 1@1 + 1@2 files => 21017 bytes +2024/05/18-19:40:28.580 18fb8 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/05/18-19:40:28.580 18fb8 Delete type=2 #186 +2024/05/18-19:40:28.580 18fb8 Delete type=2 #380 +2024/05/18-19:40:28.588 18fb8 Manual compaction at level-1 from '!items.effects!InpV0vOrIiMGHMx2.3KDzdYuLCRwUhQUK' @ 27 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at (end) diff --git a/packs/gps-3rd-party-items/LOG.old b/packs/gps-3rd-party-items/LOG.old index 25209e26..3d5660c9 100644 --- a/packs/gps-3rd-party-items/LOG.old +++ b/packs/gps-3rd-party-items/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.931 7284 Recovering log #345 -2024/05/10-17:34:18.937 7284 Delete type=0 #345 -2024/05/10-17:34:18.937 7284 Delete type=3 #343 -2024/05/10-18:08:06.798 358c Level-0 table #350: started -2024/05/10-18:08:06.798 358c Level-0 table #350: 0 bytes OK -2024/05/10-18:08:06.802 358c Delete type=0 #348 -2024/05/10-18:08:06.814 358c Manual compaction at level-0 from '!items!A4JIbc14vM5IKbuT' @ 72057594037927935 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.814 358c Manual compaction at level-1 from '!items!A4JIbc14vM5IKbuT' @ 72057594037927935 : 1 .. '!items.effects!qHY9RXV48OmvCrw1.UNiU6zoPTpbrxoIA' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.265 ff48 Recovering log #373 +2024/05/17-18:27:08.270 ff48 Delete type=0 #373 +2024/05/17-18:27:08.270 ff48 Delete type=3 #371 diff --git a/packs/gps-3rd-party-items/MANIFEST-000351 b/packs/gps-3rd-party-items/MANIFEST-000351 deleted file mode 100644 index 5647f28042fc3dd3bda8ebb38b815e07e0672ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 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 diff --git a/packs/gps-class-features/002001.log b/packs/gps-class-features/002027.log similarity index 100% rename from packs/gps-class-features/002001.log rename to packs/gps-class-features/002027.log diff --git a/packs/gps-class-features/002029.ldb b/packs/gps-class-features/002029.ldb new file mode 100644 index 0000000000000000000000000000000000000000..e5bcfc393434ae581c03631f1990f212c8762c1e GIT binary patch literal 99800 zcmcG133waT+3q=x6lN@GEKMZEHntfFJF$W!OQT(JOyn(=V>^!R>`ur?GqM$HixxYM z{CGDXI*OStFhxDnS5ED!ZF4!j|vGToMF4YTfu-k-?;Bs>zJ|uVo)&Oq{ z1U)WKK(Mo%!1MN?E9mrugrI(S7`Bm0b7`_oJ(z-R`tcP?KE^u)e35is^=de%a6AT| z$eQhDs~%r1NeV?;wbg32Ssi$ONmAg_0^b$Z$=j_itHt7Qv2KUk?lkJ7aXuUhuP;T) z2$xE?Ds(@u9fZ$G#yjc<2kNb!M220xEm8-2Ko-82SG&#A%DRM9V7)Eg+Pjj&XCdcB zSXrOUgn9h%ksY{Z9h`!vci?AvRtULRf#>WFODJe@1%now(-H7^0v?yk5(x6vpiOYw z?K6j#(j75`CwAZ^J1Q*>2kay4q|4U01GA-Q-wxa|p4S#1;98n(O)Z_a{wDhx7tX5~ zTKBE8gNyYDD<8b)>%5xv=>1`QqsQS1*ewpX5D0k$7wfRvJr*J4aoTwg=LrOb0O#OX zn{8qk?;FNyyNh+&tm}uds`S=jT;Ja5>1^3z-P+r-IudKE@5K@?yr?cBB*Q_I_nu)4 z8-YXoChve-a0whAaJrrFVHTEW9TvMSU>03Q@M zyVWD`R;R`7cDw8_YGAKJPA6w~!*H>1mY|!par&dfSZOm`%=Xc@_Wf1LSZx+KXp6<# zJS?6>*k~77_-@|Ho{m+^T)yZ!S7YyrwtfLiy*shIH6H6Tx$pT$Ud>wZ`2LZ1z{7G} zfVJ@(FnMtjFcHum4A$s&wBF zZh1eiBk64Pxoj)8h7+M>PDd-o-XW}R=OP>*e(_I44IJK1e51qa;2aJ(aW3BBv3neB zz#4M613{PDYIAWR_>~a!1Vhh%o%j4sxLi(`)$U%u6E4@jow((_yv~7^SaVNjoF8mz zvvvAeJV!j7j(AUIegdwQdJUJ1#DgzxljM%& zfXfEwO9)wPA&1M#dU&{h;YQ$DKES)IE_cA~=2^Ryb?T4q#7E!~u};?IbitRlze>$8 z&f$p0^H$sJ9m2}4?X{dQ(vXP=cy0|GQFuF-eDNb$Zj2ipe86Q5*aKWZ@KAmEYu!$V z#byb5EN;OP5JCU=Mmc-1C2t z9{EQeW3zc!x6SRgw!K5aQCu~IOA!3Q;@@9>^^aHnSbp;SyR|kM6?*GJ@&2y$wbAR-0{{NnT;l2vl-1eXqrU2Fzu(LrpG>g+FSc4WggCW5gVC}riH8V;5 zznFh5P7CX>vo@#Qb%y!(<^MGQ;($aU-L;8L$lF{Apd1G~=rdo*BbO>8B z;iQmaTEl#pS-GOc$kh89j7&oaR-QD|$_110>MD3)bycDUu1K(#OT!8Q-(_N9UWoZ* zNYJg2=!bojJd+FxIAafHQt5aUUSu&_%@$mu=7Q;PKc~91wWKhW5Q1SYqFY16Q|Xl+ zWiTG&!{j3A8iLOxH6GRDNG~0cq*M4xG^{&}`hDm42j#(}Fo3VKgt$mbfTfp9_6TXb zPqBntpd1ME>0VVzl8Gr=98F!YTZv>mnt)wQCo=-9n@Lz6q;Ip!kR%fK{hRF6G^*j* zOiE}-DohNl)lqI6?5b}AO5nRC`UvMEl0pza;!`#zk+^%QjIS3BS*`eh;w3VrQIUQ{{s8A?}^a(DhyRmY^Mx(wTR(38O#@9(J3PbT^ zG!x-;4=4eaaQzi4G`Hie5x0CII&6?w1VdN1kSE z4x3TWb7>AYX;g>HYHyrFB$9%3uRI0AQS}yk-5j~TI>AVv|9sPuZa_ZKgaDT`6E*cF zyY)4`G;A&1%S42JA!1|(;~A!x>lYX<#$;kaE*2YP`eJaV7&ts8l?es~fd|0F4D<@I z?5kt&1e1=N8Gi`ZNRo`;XeU|;Eq(Q0XXInP>{ zWIO`D!{kgr3Bb^IK_kmsnXCIGI2lR)#y(Fvf&fTB^c2-`kZigyVq} z-2Yt6_Y;(Q;73tb+BUL=5VoZ?0+&}acoyl!Yr6HmU^<>O^VaqLZS|e$;4*%Fdwkt0 z^Y|xC=B8fG9(8d-Z&x&8%?vEl8^8G3vv%HL7g*MA2?`b~prrus<^m39DCBYoE^E*V zsMikjF92M)4Po=9t?^yk)bZG=l+Zf1+vFdS5y5zpdj<`|y+ca$QLMx7Z@O%bBpjvg zAW(R;OI`&7Zv1X{IxM8BLXr3Y+%Q$a$mnjRc|ZsxbOmUTev~+|cqAwZ#-%EGPb3~V zexE!VT7kNKr7d;hKxzu7Q{8$4Gt?bp;E(wt z6n=;4il?~h2r1MIcNEqh+bX>T?Igy98D7E`142*u@ z3LJm_$Q;S$#pJK?R%JSz20RgWE=J~a5d&LG!~Di9vC1(f;(cCo0m8T?0-z$|WxDls zu<39tBXsMHWLSka!?YC%z`g2axYS@Q$W->GqY(qMq^4#$yw6uJNi$DrLNdfG z=|ge4k5s12vG|Hr4=Y|XW8}EG&4LIx7Aiw1;S_eK$vmA3*vdiM+9eD(z`=bI69$+L zxb-SGJ1m)Z=oBCq`eW2`H$Y z3VN}k%&fqs=0C~FYQq-&ujHg=w5etu8o#~ln4DaIqQyU#Yrm3{>YA73a9xMTJQ86W zRYjuC--HPmyp%m(`wVH^!bPJ((!}xoLTubvo-&1FrWEi^VN{^6P)J~b`@Vv`6)m_# zK~`!WLVD_F3S=46mbAo!eX-@jpstSb*TcUlSg1z-ZiJ)g5TfyZ0iHV6P8L>t1B*^e zd!u%LKB>iK&Ah@DurwvZyw{3QZKD;b=5<(+xTP*LjV0a)6L4cP3`<62u=pqWWRbiRmWSFRG@>R}qrou>4^y1O_WBX4)?@h4nOuFsvF;>D5{3ZX8=aFzyrF1{ZDIGD)79L zR4pL;KE3zTt5JP8jr63Yumfgipn=6c>co92y#?Nv4)cQ!!IbJ1Xbt82>4Rqz25C1i z{tfz-TRB%|%RqypnfEO3N-xuIG(H$r0zI>uS?bs1RZ*qU>2_IIr_1K{uxumzY_+p) zyW0Z%#$l|zWlnQcxxckqe+s|B*X~M7^sM(%C3l-7p4^>YeXm4fF*f!gqt`Y(JdL}F zr=NJ>$a!gW&ei8l!NxUhiOz)E*_lc9ZEbcm;5Ptur>9kq4w$oGNlP)lEOLPnAW9rX z5fMbf52>u~AZi&?U=kDuTp$ zha1z1KE>XaN#F>(5(MO!lVPx&5YglH(zS9xj~rQmhBUX;Tj4c;P1A54^dcD04`Vk0 z!&TGJ0yt6tspcdgS^6Q_Hwhzcs&)^{r-VodKH^L`@*|U#TrQ8qV?8y^NV>ET_7PV6 zRP7E#0F2am2zXo3gINH13=JxZoZBWLr0(|sA(!Gi6>pNeCLyF>nT3$1IkOSuK?xVs ztwLS?5;^Pw*H9%FA*61V?mB=?X%R)nljPOYC=x$E3q`i&P^8xI(`giW+es*L?+l70 zy9p6Pc4}_JBRLHDJPPYJ`)radh^$*j=RlEh0Ds ztTP+x;6}N_sE^>YQK#X4!%Ic9B&DyYFOP(y06Td=2&9tiE1yy8!bC;BS%XAyoC&Dr zC)zncoj`^F35v_E5M_X@C&Mr?8}))Pu1@(9iAY!{^Zi8v!rq_S{i1}|vNg!H$A!9Z zUq{orCg*b9<;pBD!aF41p<5)TU1Yx+ZVbRh>~*M8l;tL2OG8IF0N9{V*RUcK3WwoE zB6{5Yl)PO?cIocNwd&kTG4dP|q=)4Iq{7#(i+-wFj$*Cf!VZisMs?;j64f8Qa0pod zwCi2ecBmDJB|Iq@UCd-F8lJIY1t?I<0oQ6S#Q@bVEDub_kY`-R))tr^h2W zZMvNYiz|GeSLdKx{aWX8A<$_J^l$U`t&FTRivp%OVBfZCm2X?q3Lk6hZR}ko-g+m^ zh`zJXkaXVCsVPw}q9`s>FIY9@;_GtrqVR659v!SiN#BGLK7i*isRnWd^ilU%pmuIy zI4a7h;gRpyt5SX8NF-Gi6(WLAg~RQAf{EKEm;#Y_oHr!}K8M}@x_iTOylyT4w_}%) zKO5oXae!^yIY#|#;I+pt0xNra@Jp*j@GyzIL;#gM{*gP2$N+Za5C&Iq0Rs#Y z?xvo~?p1+8z&C()g4p;4L#~GJ3^{P;ZASzkzJ@je&|pnp_6M#|E&{-@Ap%}Q?%fg0 zBt;xu7mo&jA!T72V2XY&WljSbkEQSpg_S)ZE1QGTbCFqLCC`!gd2+XesZ`9@G%3wt zp3&h9ZY1D4b`Z%$sHiItX=hrHrtO=n`EWmz63GT|t34sRmkC9LZHpN$0*jc5D`-l2 z8F9T6l8c!wK)b`CL6f5X^ARtTUHwe~Aw3`nvBgY+<3(QOWgH23yNKd?l0am6lPFau zy-XT-GQ34R82EKO2|~Fk2|8T{HsH>_CB6;TIgXDHco_@BCbltl_?zqraFrHg_CK=~ zPMp3bhj**ZV+j9zn+di8Z?G9P2yOQ zNMR+=J?lS<&nDG5PNjQFem)Q}b0bn#!Fj16=MtM2cRK+0im+Bh$X-7(m(K#WzC-wX z7|RERl-H~TjOd=mw(A5y=SDK5!TO+9o04>2>|!6^H2)JWn}a})9{398;N}@ z4{c)V;c~+kHw-y{fDj|JQUs}nPxLYyYRX_kwKn*o?AG@QgV=_;PqZQPD|712J#d!O z0Py*K_?PPu%-U-RiJ9ZR@|Ix|!|R?P+mN-k4t{_)gE%iON9_6rgc4)lO2TRBJ_&1S zdmf?T4lg?L9;$s45dcX7_aoF#T_GdiM3vlO;(RlA@TK~$!33O=CCtL;0N1yWS+Ibi zwQ~9S=0vjWZo+7WX{2%?C=d$`hLK0NFGX%3qYsnwuZ6b3&~qn??i!j&}VzGX>ZLP7;UWm5gd%(E!Q=np&Bck zijr=9N`O(#H#{Y=vNh+T#=m1pw|>_ji4Zs8M^dR_zVI*gTfTP5^n)0ABzKqe1iz=$HmtuP<`=M1$K7)ZVrYG)7up4PEd)` zo%Fi|Y^BDB;pvTS8q~NRzBAu*R;^hoo^JhHq$Cu=w~k-d!J!)XbrQk5KO=Ah>aMXB zNElP`CsgB&(vh#Jvq;j7^KVs=%^3_6MjXa*SlX(6n2=|{{HT2dp^eQylpgxB_|}57 zIR(g35UHK8O$Y*|^QD%xR>BOE^^0Ew5ZGOxgrSloLU|K?3eTip94`r&JH$#)IvBfp+2>~lVX%=aM0F*NMxBKxLT z3RRyEeCfo;$XM1zBI6gomKd4hVfpxj_-#Wu8m5*M$VGZWRTe}}GkIpQ6)GrG)D{9= zftmaQ%1degsE~{H8Fhi2qzXk>47k(+xEv-JfE;ygOXgJ&UsEw^_1sSD5)LPUJQhc`iWwikl<(4IYL5(WZJO;z}{Ip zLVZpV;@V$WaRscgz)0fs9}7q=wX5KN;3OXwP=1A~w>Utd_Ag8D!y-`-35m9yqCQbt z_ts~5+evgpe?En$=?FDXCGrv7!-`K&A|k8jDYP?0q(iFG21$(?WQ!QJS622ZJc)9x2pM`G4le^6XZZ#mc(D^8@>j zHF}@PGlCO1O*p8vD(}mAjknF=HgQ)FdUlO-qXyr;^@`Qc%t03F$4c*C=bTJ0etP4c zy$=AoJ?F0ZQ}iO`Y-kKeBZKvkAkW7vX_<4ybN%|GziS1Z<(VS z<=y{@YDgCp0za5!8Z~Fqt!LOqeF*SFim7WbgLDm&NGg*QbrGf^CeAIeRn=fU2qRfo z2m=x96$YdPJh~$V8sBLu_nO`?ykHpnu!DaOv1*vn6%O|sZ=_cP}*#i(%4IgtDIb!6eXpKvd!XtirOn^h#>h* zFA_|g`~?{*&+3t85u0I$q@S}|QQELp)q-EPWciR)Bt{||sziG1$*SotYcB&QH^+s@ zb0a|@^vNj$Th!ENaUt>#OAb!U={8LZGOG5kg*Tsp1qr3gkfZ2g6!Mj1sSw#d#e+(X zWJ)AL_}(lLIt;>&^cPtkl$w&#Z$m?+H>h4FyVO}BJxy*a1jH_C>56Z3DP>kjS9I$x z5_NRLHWb(Wg@C;<9L(~disk;*>PZr`cZLKVhZ8&{rN?t5NNu=dngrc+5(&EgG!nFu zy#p2+QAa-x9H>jJ&r0b&ncq1W&#@rx#z_`b0;eNKbS}obP%?Z~mJ;2d`(2h2`TmJt zYwa|w08X@|1g=w-+e$0DPhz%qHftwk8PdlDsO_9g0%H4b+j9g-?{K;;4me~0Vqhug z29Y1nXIS`Sb-Ha<-GzeRAM|})2*V@>FTs__QL0o`x3CVk2TV>IcuLu|DaJ+GZiltj zL=t=cfdt=N@)6v>R9_qHX^+I$uZ@S7ukKpW)2!<+3CBViF+L#u1ckA}tj8r&TClFg zV>Vq)Mu1ZRPx2Oy3%Oka7^L92TEKS`gkZqx4hliH045?hv#tR6^}NNmu;RG%<7acU z#h&aLXif+FYa1J)zLj=gj<$r_`mO7&YdbC5L#q<0zASBlJAPet?EP6?C^N%pYV3Sbcq$Tw6M|_Ky8YE`~owS#t3i*Iu$6 z^!4MjR^AyYP$w*fp*SrCW{D|TcziPfEAQ^#{1+)unUw;=I^O|RuXrnnG`anj&(P4A zO_|jJN8Zt`aO_1!-LaE3z~hxO65!~+(28S=RG(UADSz>pM%!=^0ji%eW$#KBz+Dhjf_LW_q zpHWOM$->d$bJe*OdF*O-;T%|yAqQY{L1F-`bEDUieZ~pupUuI#oi<~wXHKI+!ac+N zO_cl6GJL!6H;Kc7@g_%B@asanDEOUK_+**A(I08x+akVoF8A6xE`f`^&&ceZa4*2E z9br0zK&DUkz@9&R_6v~Z%N~_AZ6Wfu|*<4TpZeooH z->E-S67b*dHqO|GAPDzSg#*2DhUb#ByMS6nqCR>bg&0gL6RE*qFLhXMj|?&iSoA=Z z<-t~@eoJ);Ver>7JQsv1)y%8`ZxIxyq*+%W2Wv1zy+_d#6anjc@e>ptkZ|b*O$Ev{ zz=xD-3u3f?ldBnU$+-wsP+)=OKFQSeLO?7P<*3IBMvBXmOl1`8yl5t>`>xVz5UoXn z8;n0d9`dp-jzPEtdp`dOj8LI`N zU0JJ71=4@*);tjgOger#%;HB-{7#p==E=MdcGMKe7riZ`7LZNmUYD>!1v}W5f zch{gxZ!BZw2b^}B9r6&YGr-whT+k!tP6SVg=bRuiSvkS!@YoM$RwNeLV zrnZq!sNMOnZR%+L`ln@$DQq?n_LF3v0eTJDoic$u1YRz0N&(g6Q>H;Mv4L(reMCl; z%2B%bUX>))L;n>(7l=2LW?P(ojFzW>~A`_~oUj)9k#94!oS$m}nzWlVH z9!xS^m39;k}jrEOtl16`#vSr5|~U@%B}D#=YFK@5(S&K{RpLTk)}%fwXy`Z znI*tF+Q}dyobsFfb83HqiVu?(pu#b}G7R1q6E=_BSvV;`u}ct8Q&B&{zaf}P9r>iy zM}U>6p~)kdCU0pG#iOi2oe6_2md&|v)bq3@Wd=JXo~&Hh8IKCo#(CvE44BB7gif~* z_Yxp@c^^eP{fO9HKE&=r(&x}HUd6UbfZTa^=9Oe^?38&k?lvdGg7pV7 z8~0O5Wp~YKHZ0bbC?>|K+~d-5s!-S_h7CGtsj5VD0pNs3sE6|D3+A2VX^mN# zX-|u4mWBUL`4sd6D(Yssqgzf^F1SK27qgECmrZmRlyKb!?zXR4x?=*FSMJb!b>C71uqA#QU-}y2Z zorx@+6!MXF-}pa9e8gcY@R(+%Fs*u=2X|CYdo)wDI zP_IvpkF!sKI|IQUmv~09eB<$1j?8`T9N}Q?_S~v0#(P#@om-Hv&V_s4WUrW$3->(Z z2K~A2q~y!z9h1?QQzAao$sN%F$;NtMZA^!=!J8~~&gOq&ai%ZKB;t_JNx_^Lg=`Fn z14hzQB4l$ic1EL@n5)BYf?JYZEc;Fi!|3J^Ht_Rb-{of}!!WQ|ZWWhEzm*vo$*z?h z2PMrR)MmgHg-CBW>ifR#Gt8A(fh^~eF#hGUk}zD6c-<%2&#o`_U*Eb&+Q$7E4EK>= z`W7I)?weVZ2LBliDLi=f=Z*TTiPF~)uID?#j_vLJ4G=bNguyaNd0_DrcsDP2Afm~0 zLI7x*-2>@hhY$?eJPv!%=CTQbaL-pFI1fijE!X|uH8G)ASFGxVNl^Mu38*nyUVCWnv{TPrDC`5D ze)PUGNMq4UW>C8CtE@0~tKyF%2T!r-$38#Jr9bwE8MOXNa#|fzW*wSopZhLPdv?nEUy76PUbjq#&RO8em--8et^3f409G4B_<1)}Z{e&<# zm&6~<(A|Vcy{?xLAi;5W5OBAgDTF`vViQpLDeKDIcLIZJH&?0fL*15mx@^zjXfYnHIG^15^v&eN9&*bb z5^??z^<9YhfFf+g4%gv#lClZu|x z!h{5{8si~cw${u*NDFklCAjkpCA}QvHU}B)uVvUtF$z1N zR3l7*sW2$%u^?86VZi=O1ad>Tsx8~d%H02%R5Bur}5Az{)G0|n#gTJRB`zXs87JS02d34{U=MC9F8&Sh~5?ht3OLOn$Q zg7=)u$w7cfEaC_`^)Ofh56PGf;3A9ue1EYlUy|BL&6m+{%JhAtlxg_1*pQEg$1gz1 zk#ErO$S<;)L@KTtm4_aYG=5G>Vw~^p%~b>ONC=93229|S511mrTLcpX@gnp;Nn|em zJ6U`=p&cNoD+#c+X(z2+oBzQ-Te7l{Xpo1PnONbC%%r=`EUftq*|Rp@j3;-Sa`SX% zkpbR0n_5s-8U-tel9YJ>247`&>t$$Rv4vEF@D9U~yBt4R0^=2MKV#kBKz&Rp(@7Xy zqcJe*MEcSlqyC)_c|MXY%t~;~lE%HW5{p=e7ONam@KT=p9$G@5HBSx-yqWr%QVPk& zcv9MiDy0=B80xm`M`#%KA_+7aYWObg$ z68Z#9Kt!_m3RxxGk8u7(ewS9vbAMkWg{5~pAzm3UIf8JR9Y)O1bHy3hNE8wr}?}RrWI0R;9YNRm5a3iig^rNmu$u% zO6t{F%2#>qO5GxLU6vg>=Ht!^Ox}S~+HyjY5+Lpw<4Zp(nF_Y5(%QR;h7VAfzMMcy zYW|id*|9@ISNy|xKG4cGm~gxGjJI^1c_~Id-BQ?B2>w>yvfBE#^vA$2`LLOOAYW}T zn772kBfsRnj|@1W;;!!@Z$}*q8pw$|(4BW6lza@ntoFV|PITbgJ22|M>MkTKE36k_ zY7!V&zT{%+w6$lYrnOwTN=%LVt`NDl`B^*y1}nWWpZW>RV*qI50{~M^xBD+EOnIvV z$*LNuRNfskG3x?_UZy%wQ$A$)RndI;aCKFHtkT$*e9k&hX<@Syc`wAQ7kNvNv<7Yd zKq8JN#h>XHine|i?u!b&X`ZAzHhfTG&Q$2Yz*UqYuWA9=Tn-6eh?4_c@tPN&rG}IU zP-yA_D76qxTuUKJ*6depTCXC&sMYRMQHLOys((~PQu=+WvP`9jFnQ{Jh_NIZ~B!QRtht(mVzSQ~mq<50Bea?wV-b2e4B zn(ZtuoubM=P&^Ho2G0i}3OD^{8&CDxY#Z;I|7PRmY)24MR5Qgf;O03l=>5;BMghO4 zxa>@^#!_oJ5T#swj1_Oh_m=>OgYyhb`bjj1U#{(+a`p0ooVxIj6|a*QPx^YQU6b)f zJey0G8Iq7~TqYN7Q9M#Ui%oYSW5w%JeEPaGdwZQZZ?DL3@3gn~qm#V78&31~R%;I7 z@f@Fi3Cz9V6rWz>KOc7aG7u-kQW-cVpo5dOGGFEhwOXHbtfimj(vC}kPybR(J1&8= z;}w%>$ERnd9bYY(s+NG1?ZUuedq}VbLQq5srQG%qFnkclq1qB^UED$l zY#tZO{bY*S?^;rxt8NivktVten*jS+Ld6^+j7Q;kl|g?Ku>e*8w@!?2=%g}cRqnm4$K zjxXm-g)>KA-Zp7)f=MSpK@CI~O##SIi;G?e2#N_u3j2hdxB1ecyHC6~@}US~B?Nit z=;29k)9+ShOCUxc{O{)GZPv|`*5=5VkB2yq7%=ix%$S?|zsZ@Kqn*ICFCu))AY61! zmScxoNsVqh!B{ugf(lm)TO zK^RMOzN~&CNG0vbH&>vc@i*n7x#|C6e4F(Q-sYz-&Zs8iqiDqkFRD%s6RGn}a~cLk zb5pZWstT`|kxI%2$!V=5>ugpjN=qi4%@B8krs*VaQ+pdJHS3PPqnJb92}UKohG^TJ zr__tSJ+(;Yy>coiB$!ch-PN;#Lf?a+(6lz;c7ZSXeK9%&h3DW)LS?MOYOFn&*El$b zaud;2^`|?Z(H*d|6LRi^utVY&&B{mTh}8*+oY+9jf1xB=7l?H>uI=h#d!j;ZBW}Xf zI{AY2@^W7iCMbdF?2V7C+0!%j5#Av@&uwOJBo?H}*m^lw9exrq2TwFt$x#Hz)sR#>SJ_YSv$ROsrJE z!@N?___};`s{*$0x&jh8m*^hXmdP5ID-c_@T*3WH3*V)v=j9X275kPe@XNZ3P<*vt z!MRXiL92p*8~i>s8lKpofXB`aio#ST8ikTD!$6s`VDPK5U_MH*TNEhq_8Zin6~zUz z@wsDfP`@XCm{KfwEuU>vN^BPT+5Ff=3Ie?CgU_pTsTJydirP;w`l;9ol`b&cuYIL} z>Ql}HR|u!eQA(?7kQFbsSZ$y}PX$+sAIiVw+yy@(tz{%(J|QE-K)*)eC18YTcN7#( z77tKQkWipX|6YMQAt0zNB#UU2dhSchOoag0ItteM6Kz5%u?|yrQQ99+_;*Y7EiS>n zwPj6b%gXwdE4zAYN6wdv85l55=@+SN2Igx@5)ZuAD>wg9hLZGd@=z4~MXgd^3k7ox z8yEeN7)ol&30lVE|6Z<+qQwyjo5FBoc4aAawM}Ynlu$;M^`m#IK(hs#0R5jnxmx(ql zb2YR#u8vw(Zzmt9w%gaTwYGS)wRg3(E3@3<3sDMcVhOcx3ALxP_*QbgMWzOxyhR97 z>*pa8y@`N>(vWIXB9lx+UR+95&WiTaFHr8;*?w@8!cX^#-X=&CQ)QL#`e{9cy0ZXm z-^KaJd?+&NSJaj#A^8mK5u(pd3!+Q~J5J{G(~KXYxiA61r)pvl+RoMpP>(}WCuxRg zASEayl?$)ku3TtjHgoiw`8sdOYT()YW+Ou#)kqAB$@}EPz}>XGV!}|6dt7QLP)5Sg zQA4+n08Kgk7BYoTXbP~N@+v`apIBW0j~7=LP~A$X2^^w2s0GDTi#{3a3|YdC#MaF6 zJ~zv{L2CZYHz)b1qFJswyrS#}Mfz`*4_-_eK_+&%Y^=rUa=V%@rWmoch!va!>#Y}4 z^zXs*ulH&wd^_DkAr}>*j`mP9BrEgdecs3IK(em0Pm!#xkv09!hFB*c;n={sI$S1_ ztZmaI%Lk=ZVkON~q646b$h3+fy3Jwg^G%b59gsduom|;50F`?1X;r;O9-p)|eUrAP0f`1~u2%s>EJw1gX8IIYv&Hb%6bsuk!@{1O zm9YFY$HJ6`A5XKen@?h4*PO<}TG<~?CM=%?61IMdgmw7YbuUcTnSD9qX#Q@p&g`RH zsFHv>vqy4Hrdf=VWx+6Z^BeT(woYMSIUm{H?g%e$sEv!xOxEZ8%`Bhu879ZYz_nlH zQ{6PH^lV76f4cNc(}-05(+R7IrS{Kg#r_X;6hBdYx)wGzGPB{$ZwY(n39!c$19Y zOdbblFP6-C3J}yr!(bG9Vc`dShM8(MK$b!12;g8j=r9ztIUIIq6Xk+lHqb`N<_ubc zA?P3wU|F5%*g!?W+N>mPJ}niBf4S5=;Bi_q%MzZ}6s5)24Hd>dfE&F0*dp4GNu;nzrO(&F0RdVC)0d?4qb_=yn^k6=W7GjH7cKrMTi( zSdCa#jY?7p=yf8rbJQ{dzpsR(eX5G&H=As{2^8)AurN>s3yzRZRf%Xj9K`2V@*rNA z6VPsL*vOUp4A86wl)u1u1^obli`3crA�ycuUd5A@t%Qq`RSEM90+Jh3EtM>P|4@ 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 M8`_-ESN!My1@Kfwy#N3J literal 0 HcmV?d00001 diff --git a/packs/gps-class-features/CURRENT b/packs/gps-class-features/CURRENT index d9e84cb8..8037d568 100644 --- a/packs/gps-class-features/CURRENT +++ b/packs/gps-class-features/CURRENT @@ -1 +1 @@ -MANIFEST-001999 +MANIFEST-002025 diff --git a/packs/gps-class-features/LOG b/packs/gps-class-features/LOG index 7884cb5e..628b98e6 100644 --- a/packs/gps-class-features/LOG +++ b/packs/gps-class-features/LOG @@ -1,8 +1,15 @@ -2024/05/10-18:11:17.125 7284 Recovering log #1997 -2024/05/10-18:11:17.132 7284 Delete type=0 #1997 -2024/05/10-18:11:17.132 7284 Delete type=3 #1995 -2024/05/10-18:13:00.665 358c Level-0 table #2002: started -2024/05/10-18:13:00.665 358c Level-0 table #2002: 0 bytes OK -2024/05/10-18:13:00.668 358c Delete type=0 #2000 -2024/05/10-18:13:00.677 358c Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.677 358c Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.740 13dc Recovering log #2024 +2024/05/18-14:08:11.746 13dc Delete type=0 #2024 +2024/05/18-14:08:11.746 13dc Delete type=3 #2023 +2024/05/18-19:40:28.475 18fb8 Level-0 table #2028: started +2024/05/18-19:40:28.482 18fb8 Level-0 table #2028: 23895 bytes OK +2024/05/18-19:40:28.485 18fb8 Delete type=0 #2026 +2024/05/18-19:40:28.492 18fb8 Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.499 18fb8 Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at '!items.effects!kXwZm3eXMDC8okXJ.K83zCPRi1VnQcysD' @ 352 : 0 +2024/05/18-19:40:28.499 18fb8 Compacting 1@1 + 1@2 files +2024/05/18-19:40:28.506 18fb8 Generated table #2029@1: 55 keys, 99800 bytes +2024/05/18-19:40:28.506 18fb8 Compacted 1@1 + 1@2 files => 99800 bytes +2024/05/18-19:40:28.508 18fb8 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/05/18-19:40:28.508 18fb8 Delete type=2 #1970 +2024/05/18-19:40:28.508 18fb8 Delete type=2 #2028 +2024/05/18-19:40:28.519 18fb8 Manual compaction at level-1 from '!items.effects!kXwZm3eXMDC8okXJ.K83zCPRi1VnQcysD' @ 352 : 0 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at (end) diff --git a/packs/gps-class-features/LOG.old b/packs/gps-class-features/LOG.old index 12fd72a4..0a2f0159 100644 --- a/packs/gps-class-features/LOG.old +++ b/packs/gps-class-features/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.750 7284 Recovering log #1993 -2024/05/10-17:34:18.758 7284 Delete type=0 #1993 -2024/05/10-17:34:18.758 7284 Delete type=3 #1991 -2024/05/10-18:08:06.706 358c Level-0 table #1998: started -2024/05/10-18:08:06.706 358c Level-0 table #1998: 0 bytes OK -2024/05/10-18:08:06.709 358c Delete type=0 #1996 -2024/05/10-18:08:06.713 358c Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.713 358c Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!wLd8HBhcDcpEy0Gp.DWegiMAKX43CuDbS' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.099 ff48 Recovering log #2021 +2024/05/17-18:27:08.105 ff48 Delete type=0 #2021 +2024/05/17-18:27:08.106 ff48 Delete type=3 #2019 diff --git a/packs/gps-class-features/MANIFEST-001999 b/packs/gps-class-features/MANIFEST-001999 deleted file mode 100644 index f4b43857f58e15fbb03740540e89cbc66fb7c1dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmd0;Zua`Zz{n_-lUkOVlai$8R9TW*o>`pgoS$2eSd>_jU&P8_p_o~cnp>=wnwFND zTvDv)>7C|eUg#a{A7PYf=A9Cu7g(5RUYb?zYU-6@=^awy&QQYu2CR(eT3tND3bKkS zQ}YrHf4G91nGOHCR58NpiFnKtoneZr=wn3kWDl3G-(Xkl4Y zR#f7iRp3+{Rb?1b#8?Wk1KoylpA-uZr;KEm`pgoS$2eSd>_jU&P8_p_o~cnp>=wnwFND zTvDv)>7C|eUg#a{A7PYf=A9Cu7g(5RUYb?zYU-6@=^awy&QQYu2CR(eT3tND3bKkS zQ}YrHf4G91nGOHCR58NpiFnKtoneZr=wn3kWDl3G-(Xkl4Y zR#f7iRp3+{Rb?1b#8?Wk1KoylpA-uZr;KEmFu&$!xxf^Yty`826nPC2dCSl8n2DY74gd9BjPj5GP&6tw zb9Kwi&8c+BNlr=0vt*2eI2PRv*%9SYxyGpxzAnxd`PmU(dfpbsRn7rHnTBC`fytG{ pE({3}jZzEkzixop_zq+vW{?qW7#q;BY`|b+XL`$jqnnmN2LQhksSp4F literal 0 HcmV?d00001 diff --git a/packs/gps-generic-features/002061.ldb b/packs/gps-generic-features/002061.ldb deleted file mode 100644 index 1bf5fa6143f6116b86b33e144ae11030d3671ebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31917 zcmeFZeRxw<);GL&o4`43vYVWyhbC>qNuX_#CZ}y^Lz}jNgf@^u3oW!jX$vRGNgGI$ zlB6vKiWUI@1*f8@ID$n$K|w%e5FH#;KycI%KSuErzeX8#1{_DnkNU2ZnR%T1@xI^Z z{o}o^_m8*NX+BQQ$3A`|dVFen0j@1R@VpmL8v>?(jIW&FF+`grCWz+jg z@aq_1ykwO=EOd!_yMDe9<)#U-xER%&_3{30tO^B0Ar4<+{jj%7Z(pVNi!om`*c}f> z!Z=OVD};Km;do`Yqf+d0%#TEu#kjs;ypxM}irnn(?npG=6As4vIcGdB_?B_bo_M57 zz*GLZi?1w%Gb#(a9dLPHC)~xZUl{4(I)z@56a2kGI4*RETqMj*n_bVvgx+Ad1Fjm4 z^u^#!h;#jLaF?)5pgLxOn0` zzt9DD;JL(IeL|S)7Ndbkv}?5Ku?XH*>4PhEbw|Q*tr!;xa8frH6D0*K9>p2 zfc=pwI}(icOn4F>bU$7!OElLgQFID1PLO8iYN=qCi0_vabMi(w!4D4*?GW)(R5;X6 zm(K9P72`cok=GBvP(c^?MBVSpd_6JfZ0Ob^zL=j>gmdt8Nw0wK!MZw??%~Qv47xnr z6AD51N5cLfJpt))iNxPyT!F0(<0%*x=NL&$Pft+zBE4cXV`@oM>=XTZdq4=qM6;fL zIH!sZDEfl_c&Bnw#;m3X=D|7LQRp+cay;52LTjQzxI_9!`8s;KEEEZMxZEfc_CiO* zTyaEo2`lgs3QkfVl0-%6Z&ANoZHptgVK~+!%tEWG%*vPPL50v2=?RxsDq=n%B+9>^ z2$vAN!4L?Ra#**9iiGEhn`wuTuX2Zk-bj?bJ{x2-9)zRu6A7UaW1W$ZUpd9|9yUq_ z%o%dUDt)&Q)on5?YBTHM;bI^w_=emkG7}Qe6B6(w1@xrQn>#h*cAY5k`;_hY2^7@T zA$`p)*ze)cs^aMFRgxYrt&#dCM#bel!Km0JhVceG4+hxR>D+@)TMuG-Ttk+QQ;bSK zHpsk@a8FIW%B&BBgn0S1%veuX7d)$SUpDj`2w*&@dzV_&HX!9uNA6{X-|r1}4ervt zEm@@>{7mJ6&Mz%8j$8kJrhXD%!rLY}lM?;*I28-Vr8DicRH2^-6VGDo-!F@EAyGIw zC^hCf_o+RqI-$Ee7{<3uU9?IcgzHS2Y}SKdLl@$kj9<|Tr&O)7%nlww7Gp``*?YV= zKNExpCbC7oRc47tEQ6C}79nntZdF)7#4XCLbcK9rW*{0A!~T#ogzC?wqiO5YC0z5~ zPmno7kLJ=#<+(e4K-56nfNn4|;*ACUL1F#)yH?9D=r)w;2VfjyFjYlMHz)_=F509^ znxmfv0t8nK_H^-mk!Z-zLod)To0ke*U1HP%szD47zHf+Gf?-Px&J!(oB5wPu7~?&l zqIhSAr*_$l@T>(zE9RGVx7343!Yt~9CkX@szB2zL+vFnKJJD-65f7Gg>80 zm&IJ6h@j5acZ4EdAyl2=!$qn_F&2*oPy3MGp+^QdZ&t*&EId=}7v@j&RKt4=B)wyk zgliPLU~<9^>3ekM!3U^WbKIMFn#F(3NY9)Nf*lR|?ZpVW+{H+l-dKz>8%4OYPaHJq z9#eK&`q7+$i)hvGN?9Nn?J|mk>hgdh90Aq1MVF9LP!GHU$vTBl0NyzP)VEs*hTL89 zjB>1&%>`xcQlsH@)a-bt^8rg%b|es(0San9lTKwg6`){)K7JXJDveh%a*>ZeL1nO1 zI5LgTMAWoSQTK&B3|gQG6MXNOVDdIkbKkP3R2XANWDO9rUj$=0Gtwvy6vvpxihyH2h{u1h;Bqmjny z{=Vws^6nmM^NP?kXPGPj`bYP`{uZ=&I0l0{E)_pI6^x_aUS!rs`of@rI)mLpc0(gp zyV{W7K51ZJY~~?laf`bz*il?P*X8M-9;lv$AF_+7+10_A814`{blLpZ5@fdCi8Eu% zf}v2XP#AFjG^;QW>;P+EiS~rUU^OirQK7&19-}}Hhwo06G>RXuD2s7*AmLoY>{({6 z+F4V(E|q(f!U^ zg&wR<822(E8tE;EM~o?qF+~;=LxGQPyl6?0P8}&u* z(}XRekt@$kQ(*c>rl!DlU}}nR(@15CrZNQ$Tv@dKOl5z_)fgz69h~0V+0_E}L&5ni%e!l=UCgIxBtKmtHyzblK@EEsQM>JEMGc# zR?+66YqYMp#S?Vge#E|8GIW2Yv}5&i@yJ>kP&LbNvhW z(2cSLjLK<1g0umdr9q`}UVbcr`b0nH6#>SHF|LRM<1U?$nGgqnb5dD$LV9^_T9j@F zUsur_d` z5O3`N1o4bXI3oW~khlN81$ox#=>Iv!oB2+7 zUP&>)yi30T^D<`s3rC4r{cic6_uA0_9^(FuqUa!P!pr9UB8sx)*8c~L8czCeVN`dd zY1Ukq+g~=TIx=gL*bTG&pD?Pd%x^6gti__w=A9&z+5(~|luRx!@=gX*=qn18c}oCO z*^2*17&ZLPzhPAFz$lE;9UOjGbqz+H(w!0jL{XBTgQ))so^osd4W4vw{x9&f@ZaER z@8VJLga!t$M^R_R&q0(^_cIXXdGS9%R80c@0*vx}`#-=a0B8vqRr9xhp{TY!Xw_i# zKT(wP!+)bF{(nbNmH$Rj*N}7n&!N;{J(_)LWk$ijfz;`y4EDd^sLX#lxG&2rp`U}P zZ{#^Y15-2p15BNp{4+2$+=~jOH~gwF*5Bog0BQiBAjT|W+}8<+3LJegWbuXs|0u8$ zCeROoir70wHj1KTfTBL7#9v=SQTp$x1cthuNnogt6TZmLAym^f2z6@A&mmL^0G^*i zsFL!@*5b0#BG~|x3IjtCvNg@+d@^Vw$uhIY5FnA}vesf`pdphEPx&W3y@cAz3^v7ux zV75@Cj~t_Ln*#7utZ=WM0(yg3Qplev6eg?bcqD31P#BdxAxC8>=l~wX4X(JItBZhp zDoV3ZA-B2cH;apL{=e`52u_0Asup4}LR~gFuC(coa^>?H=jw99dh&L1rtBqy#!7gt| z!fN0C0I~ySZ8v{GomjdBNA|2q2dQDcqrcZ@(iCDHF$V24gpK(e&xQPE5Q1>kaXwL(ug z-ZBxHTg2|p{wOyW9GPWCE9z$Ml6kDC&^dQ1bQridKnFPLBXJRWP)-!wyv|^(;qJPp zQ4jl}tOQ(lXr(tn1^Gok*`HbjM%)YNEy2YE!*b#|OYTjbGhOKN24T;fQSb#uJ|@QF zHUE%AqV+T76N5n4Bw(KCXE|B6Kf;A0aV|`doMB~>aF2AY0+a>umxeml>w-Mx1KX~p2MJ(UU zE)4>58ybsMd^*G9}S%bPgEo@O5)hI3}vQ$Zo zV`XWp;X%V(EZ!dyt6KGeNH}f@2wlNYzdgUB1BkaU4rb=VI7PU*a=C1V80vMt2MDEJ z>=EI{8Om%k=Zpr0kXc%m4KO?!47BQ*y=f)?;b5562T>jQibiJn4@#0<9f*ql7&i?Y zb5}BBQm9Tbs(mUAKPr9Y)Q{|$v{MJzPf||xS(}NZq!{OrH)O76q5`Ar3kqblf^8$H zm|UbsT1amTk(8R7=Mxk-by^bdXOfhvr~uqSj7gHQiwV1iI<$n0x+M6U5kG;=?kD6^ z@JX~@g7i#}!g6**BtPGpMM93yL?CsoXc3LjIISR;Cz=i^|H1%1W))$!4-X z1$oI)83pQyyf0%96P!C$UsvRf)-3Z+4@|EUI!nVdoJ(H+718kIUh8C=)mAQ+`idt{ zE-Ehr#=#Gagn!ax(6m;o;4c#=ftzXb>a|uzdLwyJHkEI2dYh~zo|4*yMO~qVZX3Q? z;upjpQP<$S!7&=I3e7g1N?%_~Ez_H=XH(gyn9NvV3}&fcK9;j|^axRKkVE8xGShGA z?umAX^ygD8GuiDbvN}cLi-^Zr4{^RIi*x~Ca%JiZ3psaBn3+LNy$H-Ba60Fj*aZp| z7m9!vzxR0=csQ|3DJr0FU=QZYzykJ*(bljK>ks?5fN}<1Lq9Ju#E11T%%z$0f}p+3 z9J^GenjH;x1jBn>$gKG&U10{9k7*aDNadP$XkLb9OzVysxmB%U4*o)7oa+#}w7oJj zSH-~`jESCb+jwJIkk98E7ZtUcx#A*Y1wF(5G%D&7V1HK( zE(n;KXfl>?VX+SsM5GJ6W&=DzBm@j|m4jP#X$pB$Mn!t!%1jVqIHiIcz!FJom|j9b zUod}^E4W~Qi%7pkT&|iqrJ5K6P#y$6J1AWGoL1A5Wx;?!cj|5f_|ZIo`MIKKsISC2 zpTuaCKZq*U#1V?+88Z@!NC*K*>+dJ-43&SBFeW@J356_suwK#~C4b70-mUd!pcuW2 zhy=yuCIzrfV$Ar83c6uYtDZWqd5sReYOMLF=nz z93Kq(LOl>0usn`<;cH}U=%b)->`$QGXRvNZ5&SFwR~L*6ak$v+Izk0w9$t-P@Nk0j zWyCer5*gNJY*7HJLp(GgCL=?O~;_D%wt0>+d zRGX-(sw&HroEsYpP;@O4<+>d5ZECi_L2M%E=Z2L=E@PeXd#oN6BP50PXbkDCbRv*Y^k;smbmDQ{W#^SO05VdKBXpV^6H&yaKCVBR}@T}6##rW=M zuuF*c*UlK*Zbg!qNQN}WN)U>Z37In3-?r%^<#iOyC-ntr*^jx#yRIrH&6~o91g{w4 zErA?t~##1SpgHxpi?#gS?OYuYMYP( z20*84Ux#s#^KY`S-w+)BH1IV-!Mz{UehzQN=g3#G_A99EjqMka&dofpbzMd5;}ojU z5(=(8n>|Tq!aRwC4e#2Rkh3M~2=rB@KiI43O+)#^d#8f_vU7ouxS|54Cs2=;TqU3~ z@*-O#Mk~0b5I+e9`Yk?s0qkY(R0AA|_laV-BHvz;gfZ_!xP`KF#f=8U1Dn#M{d11; z@$5PwEcO8N%KTO#5yG|U44Ptl6Glx@SqQgYc`HI*<}PKCB?LkSCwH&lVv$pxq6t2q zuLAU)-wzl;shwEV4XuicE8>>i>{7P=?{Ee3nL^@q3|~UrDG5*xa9m}fm$53`hu}wS zB~1#@SN^JeM#d`qKq}@J?`Fm+vtz-P049rVcuSct5(2~udeL8z@0hsCzH5wRppxAU z%=@$t%j(H<- zu-Vaw$Xc3iY;Z_o_NE5+=CLjpJPv9l8*^mg4q#F|l0|KHKkSpV>e)|Iv97&YBJ1f1 z`Wq{d=H7JV$5l+LvN;cFnmC+iFT+Zl*$NbWPuMTL9~IkZ=o~cAxB$r@=+YszdYcef z(Og#xH+moTPbA^Z0c^*^*{%98%+gl9dp-PCziIRU&2|k_l7^>8V+dGK&*qiJf3`)N zh70UJNa`_q+%5wnC6d$>Niae_m2q%yF#v$r|IW5{jBvFg4r(Q8osyjR#s@250yAp} zs%HAqkYOpv639=SEKL(^iq_U86Ian5W=)!G06sUqk_0z+?4=yHtzrzGU0aj*n(gh0 z$02TH4?l|?7)koYV@1#?ri;SgqlLn*9rqw5CasnskNA&>8Ov883acqd##k zW1r2ML^e;@Y)OLCooTkSDeS9qa#OCV3HsI0s{1rYzrIbk({zaJ#E4#GtwR*dU~M`% z1Yc`4&!tGjIQe)y1@=hWqGKJY%q`@FWLY&JG;N+jXF3^2rm6HAjM`&~{*ilE3s>R(#T-amxD=lgI}JN18+e`Wjro_6QD#(Dl#Z%ANoD)AuLf=D!9rjuE>>2wqmsZ zoQhAd#rz9rWqdfoFMr@dmQ+5E@`WPjTct-omB;{d6j|q|g)!PWPAWbAb>7Kg3G$JE zzDdvxqv)ZFSogYds?EGoW(vvAI zccI#G$es@2BGNW4??CGQAGA|gMGOKzBKbbOL|h^Idg7upHoXpdo&6-2eNB#Hmmqrc z*|%gT6_`7YNtSDLaw=x$nlp*jf$1&eWmaM+wf!+^uSh}2iC)LPW6&(1?pX&Gh}oXO zXJ@)pk`^~YT>WmAeTTADXCi*@2FAqHE0~%CL@#GSi^c5P5M3KCv^^!QdVu*>WxqY; z%yGotO+aPb&61Pp5<~0Gj5Pk`q@3->ohu6xJOEi?GT#3|K@wWj@&%HCrEBw87oKuz zG%uxSy(u96cbVI?nSGt$C36OFLQz#tp{p>-#UsmDW1IUz2I@GPlFGx>NLb4gyI_cn zceb3#1_R`NHv4pmV->3UO#fCk#&mo8Uy!6HeC+#Fz84K&b}hz|sw&Ogl=_cV?0A~K z+4)M#?b(AL;3qJ4j<;{jf}4*_%icXLd%c-HOgagjl5--jVH};s2(0yP%r>cmb39>W zbo>E<2mlcqXHUy}GRYI^M3$||%hGgm8RK&^8D|!n&wOqs5;c7TE%MbljDpPu10Dh& z-hk!!dHYTYdn*eZ@p!F#+-FaaPjyE!6n(-n0CRt2v0Ir>RC%)QZqYBzb!f&~$B%Iq zBOU)3%H%^3-idd%nRQ=*Wd6XJgAnr1Zwdo{Ao?|57*Iabl*Smc_!&sW2~h~|Fey65 zVIX-147P;dCF&+Ag;+0uxDb8wbo*OL;to_07M1ZEu2pii{A5e1N&ROxa$ zttpaB0LybBn3e0On**G8sJm0}GTZVg@Zie}_;zdns2GhK41$^SGP6=3)j=T%MToqF zsH_TbvJGBoM$PwXw=Nk4$jBrL5US?^5~WCKIt2m9oco);AQdKMv3yVN>#FXaI2VkQ zyA4!4(yd-%d|6pcdzaFb?)S!zZ0}*FDML1eUzD%?QIVP7HieG}Zutq8pWygTV(Ue& zC$Vijl7C~%K#V|FjTsd#`$Dul(6S{N8Epq}W=|L*abTIN5&s0TGD&SWdPLV*WTld1 z-953+hUN02oTscUNcSCzFn#5tM$qwO5~MP8m#&p8siX~f8R{V(lVsv5-2=Hf)Bp_k z1T`ru5pJLcDhp||!Lh{1FO3AlFpb^uWcI;SO=^a1N|xyj4OqQ%<3=j8v|$YZi&FBI zn%tv89n5RvkVW%}+O*Fsso*rnHSBI9{9Y!V6pE~X0GI&Q-VX5%D}ad-_>XpY1w)Zp znxx{3jTK;#r5fuwM0RIU5DUc948;|YF%t!k%n~KL%y1Ra0>-QkF?D`4(v0kq=RHzR{KiC+*^+9WG0PrtInbl z<89<07WblT`|q&SYzZrmupegSzNQMU1gv9MmO}c(ii$N{lB*zF(kU8Glih_n>aKqz zEa1ddLAB6jqEmSIQdwxssC6T@BHP`LbZ@&K#Lh_bGHqigm>{Y$7#@C_T$q5W$gZqx z(YFjP+Nw7WA7PP&3A40X+ss>*)V(MMP%rtBqkxIhUdWjU83F!~2%TA2`wVoHbz@R( z7ebCBpRs*K9xs{_@Fvw4;zkw9+dsbTvT+I?qp=qfuOHXPY_p4BA^cd`4c~nboR!V%)TMua+ z{qU4K_rczsyR`>)YKfF)re>J(XfWs4z#gMWR;onoJ1|G9ouwt-YQ?XK!3=(2(k->qwE|sq{0?~85im+qT_1nfP&lKOp zpG*9Pz1o=+?Pm`uRaM|)Ph4fwAl;u6^Y_Hp$n8ZZoX9nk(7Q>a1;z#kMi=O4IRl9y-y1kq>e zUmFv~$m8UjlSmccXwx|=6eOy4sMDb}!VAUYJtD)V%yJ`H z#^g+C&(BYif#WEW*D{Dq{`6X^-h;~A z!LSg5JiurW(5o1e&O0^>ldTkrYZ_JL^UT^?Wos}hf=sPGH)#E7KwjC|y_)mBBzER_ zQeF?Se-cd}e&hUfME+jJoUgsS8D#?xGMekat}%V$LG0ubvX4>#09w>aX3CfYrFoZ1 zPc0!zS$&-aF0S2Kf@U*>-Di?HFe1`)V7x=2YDPVavvc{8@Qh$Q|NLrz9JpTQ2A*D7 zuRD9}R(R5r_a~otn)ZCnUYCKt*YBdW&yJTRasx?4HghH=0gd_9$-rx^8Za-no_ug@ zg8NYSJw1IaecV}!k224dWBG*Ai>1v2Hlva zm%|5raNJ0L0n-m32VYg*{mCGFV6Rh+Y$~vAf{*f6w z(l?O(^^FoRE55%!Qh@P+9DKA@W;wB`VRtzk)8Z_sJ(vK+IcX!s1+Zy~3v81yOH?#MPxr!N;3(12n_Yy~!3frc0m$5y7;lE+rv$~>sFKP}H&n`O;0ue~3!U*`d4 zJ#HjM8ZfJ?A&Y!YH_XXdZ(OUbO>HT+jF5sTDWKohstT0%v3<0D9K%jEXje?PE>9Wp zxU3!*dEBUdP~Pit(ZfJ@46@aPeYzfaA0nGWw!0-_NNpkSPGdIB2fC7xkuNf}TXLCT zKJ(#(#y~!KYX$h0s|XY$({$V(Y;w#|(KkD8Qj*F|2!O|jT4O56SL$!^mk`cD3RV2uzT_{c3? zaqM1`bdqU{u{>KpoX;roG^v`At)~C)Z1r1B+8`OZ#q^8Ycej|3-u}jnt$&_Avc>fO zZ@<_BJGYp$6Exp#G%2T#++ecbVA7fmBkN3LooVxZNOMQN={i$JDf^z$D=iqg-gNnT zlkz_8Diix@J`*!ZrS|A@wj`>x_e%_&$HqqOb%^=OJo40X_NnCr8;x#h6DrluSVa1* z#23}hSn%%3D9f104m0_2P`}cq&vE7z6=<4QlIn78#EjQxhr|v6f`wIi9cE4lh||S5 zMCi!94sv{Xb5B_F=YIFqfP|Yx&qZ^YN7m@GoIteCV6|}+B{$7AL?N|15(&kF-5fdB zPXRq={J{1Hq?qkpD*8ypq(s6@uMp#vrzJ6-`EihppP{+8fcaq_73YJR59i9iAdACw z73A##IV*1_hay%6AzpqfGM3JvP0CCK-y4ht$y)=Osm<~h`Vq3fUsfjqFLivQ_SAgc zB?;d}XNcFA-$E9d$tM-alee-hQZy~Od6NlW+5`G9!((=rjy|aVB5YLGW|yBG36XIMViZ8|Ilt zhi^hteCnMen)3|q&8M#58M`H)bQ2UEi36m>=dh+W>N|Zq^{_X4EL`Y@COr z32tyv~%a$ z9*ugIR0^aZR4JN_=}4jTNo>Wn#Z> zf@b49i1mEZCgUOJ+hqThbqV-D;FBk9Sarr# ztvR|9ZGSbb%@6sttZ?e1BC2ReP zwd<4LoiTr8F!|@(fx+bB-&^&`Z8Fcjw%(dDV&!F;~dS^*;zC5TIyxa9P`s}F8*%K9-IRtIR*|>sK&&+9pNJOh% z=!r^m094elKge8qM3%_38*anXNpQ9+7qO)RJsy?Tz5!kc`EE5izLuU)3kT6@-W-5X zH!4b*%Iq+~gUzaXP)qx^1Il@3J9eX1&5YX|cx78Hp9)P1EcA~oA9HH?&=Oa4 zjK0qyDHS#MH8SP1Wf1>0v+pX{Vv)x79H%J7IeAARDzUiIBfqOw#uVJ}PoQ|yY z6Q_>o42pS)${|hO0uf164! z`d!Z=^3*JqAs;G8@|k>vv%+#c63IvN26m5ZM(WMdh)&nM4dLfto=|+eQ$Ic`-)Ho) zJsHfDxu85qpMv;Vrfr9c?|?K6UaGM~bz3RO-Xa+diHC4AC{3P4Qe@Hs&1r^$Ogi#h zI%sC)BIbv56kxAYT8)TGkSm`P8ass1aA~nzgs@+WBZO34B2bMn_acP4YSYo?Frte1 zNy={Rr!xEx8PwJ^Uh?Qyt;RRHFJjs1)tsSbCaYw0x3W4$b6W;7TE9T#^B^$!8Lfo5 z8I|INc!7kA*L)55d5?-zEz5+YmR?BrCtr;tx@n|lnhXkeqBKuD)AGu4$d^Qe3Z}CnZ?qwXSo=qGK2Ct`UIp_i#uyZTqUqfDd z-r@C4-FS!n?YRuyA-17ne4zYxpo_`+Eo!Bzpo%NzC(GNBIJh}lkC4>`FQv9Rgo+Np z%cM1R=+F-2u0xXIqEGHdsKj+Qa?~S8ezRF@`!(cX7Uf&k&qSspftkbzyCfYVd7~b% z4HF>yZj!`>OHb!s-d~&ho9wv|lbam~#F*)AO?qio-l3-43&>0tt6BEf6ldg2ToGT& znQXU86@G{ug@;#zo&NSF>1z2S3n5zP+`Rq(cGwR|DI-@vFIVrr{SU$_Sr>52bftEi zhN)%HB7XTAN!yg=zs0=#dZ!{LO($$Xasejxt0ZSs8QVz3=0$SL0C_F%!(X7b zu5Te7%q!Eqg71Qm#7RP_O$9pn89JL;K?kn32YNGs6j?0k2{OIo)zOR1h`XeNole7TU!FwLlc;X!uej~5-wodW_v66Q4~ux=g`_cf{g>|} z>HBCJbAKvc=SmraKgto>-{3^EJ!c}hE`$tvC4KH&)|<<|-iw^1hXbW!`ipwg?_U5> zGTl4T-kK+!qIr}9Ib=Sr1CLjKBp28})0|UB^44TZrgh^Ob0kgPdFnRzyU7Y)qKqN0 z;?|ybGX8+EV?L6WYF)ds`A#tesRS{64{2sKO)GMKNC=2qeUpC7#I6@g$7;@H+&Tuk z0YfT`&oBKxLnqG$ZaD^7IXrV?7BvS_eGbYUx1?KBVN~^((%AhEX}+qLagbw3<{o6~ zcTus3dHrL|^+DWV(xlgP0I#q~e`_uUDgK&U_mN#RgvGSE+gzY&vCftE_CngDyq(@k zzSvHbOKn4d@Qo#S8t@A2uT$%)l-P0*V=)y&*cX&_ORDJ$pgEmGtfz^2cNuvt4pgyA zoy;B>FX2|}4`*m@Fxa$^7_i^YzL9^rMY7Cbn*|L$y~4gJ9X$L^wcu1Q($1eNt)|>i znzYjWQW7%OI#KCE>=a$;ejr!}F58|$$XFG!bUMyvF3*lWc)N3M``bzU7iw2c($Y7Q z$Pe2S4`VxmbeHJA%AC`;-8YpYoj^4a~tqv-(x}&z= z!-4!D?C)9+9XNoc755{+Y`I=`gdf;pHLggqM7C6RnP!u zq~^0--aHa`cx~WeGV6#f@Gu2cs3R*LhHc-9hmrYq z2eUK9xyoqIhN?mV;<$QNe?KylH*z)o_nn%LR#~5v8uzlBQkk`K@LZX9DP%rJK}^MP z(79X24M5I7!%9@)T7Mt2E)8{!JhPj5W;cG2+$8II^1`2saP>WxmKMsGaLXDeuU$I{ zpw%2X^f)i0*%f!Ni&Ds16|>~N-11DwSWT2ulLrmR@cM%L_)gUP`MuIMX*e&5A+a2- za+rL@x-MhLs51Rv3|vB_pqH(&Fx#^)zHlE|Oplzq@9Mex>c+GC@`K5n*WM_q+^@Fs zi!nWcX0&g%dVI8s=yT{4=9V^kRp3G^yNB@iqg(f3-LLHj@55K^E%%Y%u)=Tj2WaM= zxYaa9evH0r_e59rdmg;Wzy@& zkLjefNC9O*T@mu;QD)U)&22KNj8qg_mb2d z$TuMhkO!1OI%<=u9w%>=?0f@B0s{H=2nuMvJ<{?PVsegZvyYy57g;Nj`x3H_NAyS5 zbae4g$l9BvfF!_ao$SU<5^sO4Vt=q$Ibp-Dn}XlDt}OBFGj2@u-R(IL0CnEJ=BXs2 z*oV59JQ=Fkdj$oRcj;|1{4kw|q8}g7&b8?e6=qBVwKo>m5|b>aTvM8sV4QPmkx@CH zT;+0$rGjRkO2P-V$q}{fbe#Vr$@=JCM$PbVj3GP5OZiJjnEOj@?|G5g_71#gUmTA* zG|L}@GV?AnQHT01%cO3F7jm6A%gw0O9T~I!JUL_BI>tw4A8-eNZ1l+c*nFSPt*?zJ z7c&hR+B1~q_VLooT_f`0{qHea-*BNk$DW_W+)vS}^?#NnYGKb+OT!K(89dyzc??7N zX=9`XR;fgOoXI{$-llT~$sk7{H7l%Hx2OIEzq*e^@+JLVhAQ#g2NWya?1~`IbzF5Y zc5QtC7L~jEk@Sl9PMYsW5;4Y<|He5())^6^WL6qpXF5$Wood8svi1A#wl1{UtewI8 zxBi4`E|XPxw#8+ZCjBF2WXnU6AY}E$mxfU9Rn!tf^o!C zEc^F%=wcc1XRu!?mDqWu^y=wH37t=N8!aa;KUij8ili;<`wBLk!%lfr-if+)43*_Q zUS?a2dfU;+*)rJlXUlAlA)5-blT;(GmT6xtV^YTx7i;}>o`x}6-;;Ph7$SEcXICtv z5`k{b1PV$y$?HQ%U{Cx?B8Fevhk8cN53M{uH27<|pZ&|$y@wE|O}?e}#E_Loj&Y{w z(V;7UUb}mUe@b#@#}Ix+tG{l)M58Mwd(u(GJ7dW^8l~|ClDk6!)v23@*quaaq#GUI zBIXz^m@aL>6#K)3t;>g;wYD~-KTX@lA^Dj^z+7IY*-u+1<3RpU?v1$DdLC!=Kqf$Q z+K|+x>p(%%@y+%Uba1M)ggKv!{F_VB{wZ`R1$D*pPBOkIK;NoMXM5CEd~5ioE#Qq-6rCtN zsJ&&&$Ula5|6|B{3Nck%cV8L$?z17h5;<(nG1i7#oM!!F8}-L;A@kEwh}?B(byS1PH5fisVHwMm(b zGo*LCtTo&kuL_LZc~pDnQGkAsr0G1LNE!5=Jd(HmD7{1b+C=6>s{MweQV|uhXSYjb z3;B^{NA=5&f-BY<*F9^wT-$b3J+b)Hk=aMvXCK8&)mP~h;|Ju6trR3mGuv~>(q|=6 zft=1{Tz>!n%p~QKhfhQ7lpS*h^$|^qA_^;AL`YgLDceofPA2P5Gc(S}3!pD87bu?R zNm~kAJ&t(BNesoTZV!7~8e_|9`DvIroi5dpgXzpoG)Yh2{KirCo)l8Wv6C5+M|;$) z2AHcjn=+MrW1&-CS53t;NHs&xXy}1-p}GxjWx91&naxvSd$gQI3|_#VX87z3vb4ao zQ^%~Zkf$fLh*P4Qr!pIgn8oF$%}04f1$l&NUU@Y9yKOt3+{On1=d_P?1FU1x-8B-O z)?Spa#8%dAdzONocfG+(Tc>$6%hbF_Q!T59=xrs6ueBe=dF&l2M?cu6eRmtudyX}< zSf?Zs=9bP3N^2zpt!v-ecIeG*sQXK&x^o(!RMQn4w66Nhz6kuk6`kuJBN%b9lK`iJPLnmj}J{Jxs8N0yVb7F`NS zVI8+3xEUJQ0I}Lvk`o`p`#xRYWIOQDdRHmnMsmFZt=jM;B z14H=B$s3r-8`uv9S5Dd>IEQ&6U%xYb!)Iq4N$XF1wI277?OBlf#O7~aTX_T*<9*&o z);osKcG(fKh*2)u5L@qAi}(v~AC^}#i`FsAZ)x}=k5TRUz;5(D)ja!ebt8Jtld4MI!0SdAcKiI$X0L5QM zsK+~WJF`}Ae@+TC-A{FJ>72^|DAVMrnpd23pY|qm3v&aTY+~o6GWJsM%)@L}HnT59 zb27zMb69%PcpcRm?qlCOc>2eecQE&>O=U+9p0rOyby@BSsqK^W%@z2Z28{o$H^8VH ziw~?cTOU8jCYhN+cGHJ>`( z+aoJ~!t7mY+Hw9T%sgK}J91X%ZER^Az@MdRR^>45w#$et{a&v5oA%J=IkxZQ?l@*5 zual|ctdFFQT$TTqjlC+rbR#)CA@~i9A~{5zOMCs8{Dib`=`lH(E;D_e2D?X&$ggeg zBXY8ZX<0cOcyv^Bo@J{tM^+4bR}7Pr)R*yLHa>hxB8h}Xx`+AhVfG>Y3xC{-(dnDF zCNfEN3;FKt?zA+}mZz@6cK89elhSNBb{I7xhZy)*H@b2FY^EyoC%s^EmPY#El9L~9dLnFtBS=jc_{QjiC zrK$F-M^27Y%JE>D&7Q+U}%(?vduaew2VRtt zVTWT1YRBl(cX^Mc0J%n9oWL}^&7Uen11B$!VL!+RW+nCo6W?RmKu(ld*&<1_=g{+- z1Iak}8#djgdq#gbRcmID@6e6A$pGh&Alge5G;SpyPiJyy^10GwM%tHxdY5%Xz1ywc zT^mQbx5(dZ?30W!cB0L{L0i9-X|kRttxCsNY6=!;V*FMYDL=go#<{*2HR?6C z!g2^*-%w1Du6{=u6UYL-+jObni!b#}AMJlP5wu`Vq_G>aYM(@nHzD^yP1K+!!wS%? zmLjc}YT1%KvQ^{Qs!3d2d$WeDuOUaT5M4Xf)6uze$v8{y{!2V+JwA@q1D?mP7E$6+(?o(`s&{ZS@;I zDwPs-ro!193Hmj@Nz9hnwZBc$JtYIcmCqJCkw7n^VEq8{O(%IMRRu-+{hXlxor%n~ z0~1Nkn;7y81&l71L54rm@i_%ak7VN~G~^7j?kkd5Co}aK1yl(}`WUZSW7Z@Vc1kQ% zf_+fL8uc+hOa-PXt3bx}LOt6?Gc&eZ^TMCV{EdE;T&?PTv#JE3aV!#s8cA+GR8x{0 z8o>vA`Cez2zB83kR<*n{MfwEdJ@4CANyu~eI%mssw#YT<`Rv(>qHBxQB+8=T(_g1S zO5bSt(P&lTzl(be*N)=DP?uwb#KLf*Xycz_0;~31E6;?`)M%kioUWMYALVKx-dQ89 zls3#TLghhX%>_8KH4HR3tiwRJe0r@o4B|nsj22V_CF-|E*IyV-MZdOEPF&;@x%)Aw zgZkIXJW#{L3%CS0-a8~A(bj;ZJsAz7tC}Q=u^^W}LDxtl^0#sZWjs_1NbBEd4Hp*9 z4Z_MhA_u%-@3rN@pynCYC4;~LlsWYzR{4U(7l7yCq7g6De{hlRIL_;aQG>GJc+Y52 zDkLx^s;R(%=4Lx#u`g>qg4HKFMBN;T!63b3;%IdeaJF$?9g{dX>s};%t=@nn1zf4A z#1EOdP)`fp2W3KB0I2)Q9q?kQUxchLV&kJ3gLfuMUq_c40=_Psh)5)AzE(l?PNM8? zw5ZO`K@`w6f@^%O1KjFgSZ8gC*=kA39cxQRxi3r1T(0KVld-AVZul%!`Bc{CtW+y&RNINeil6NN{$kcv$#D;w3C=QP~3k?5J$j9;5R+Hm<>G3mup^i_i!fwZ4G6%wN zE#B|>Ko*1QEBQR+6Zb$ozZjxZo|=ymQyfi`<|3i_T(WB-YI-0OdKYTNf?|%Y#3-vD zkD7|6a*$^@I?rK@6NP(mAqz#SuD}``R}iOr(vX<)vC+cde@^> z3ToZNcqdNDhMZWCjl|S15g_&qg{v_4M=Rv2i=cWK`VAI>OC-=@jRY#69`WqTPApJ& zZT1@yvwxI&=oN+SGZNFEgWB8C5cjnu>ZI8KaBiksCypusVBfi@@Ky#v5$VIDYJh^+ zmh{zssR7^5)BtEAyaPWfjIk9-AK%jrod=WUKlMR^#f528(OQ#lyFm&yTUm#TJz_{`q@7@FhOG%M!`%v$s%9zWd6gGX zqN+Qw-j$)%6r!Lm6cVVakz}^>)I~*NnK>hQjT#v{7Pj!%v6(echy!t_k(9CjW&6Ks zI~VvS%X^PMPn);o2}wvo64TOP-mHa2($J*o6(~(<3n{demaBsEZJM@$HoYVTxk}x1 z!wnTT6>(m=iCUF;n;zio)+y5}hPf|#N!y=vo}D~euAOjuvRpg(H$OJ6gl(VO<*iFJ zb+-ybe>20_13Q|&TTLRS*;@a2lbh)p4eF{rY^eb~*0H#Lhjv6j2BCI6L9J%1)y2#T z)n&Mu#H=e>b$h3TIyja%s-{vW{D!T9R^1cXz%1@w7Jh3S4t zRtcApIi|BZ{h7(09ZcA%uVPsM?5zaiglyU5zBK=K240CU;mi! zH%0%D!S^tAKB67{)ue`BP13C&eM@h8OP{;5W^L_r>bW5R902y44-bS4G7yhn3#h<+ z4_I=-95O!~%6%_qty7^IIO=jU5#V*@vfZoPrif zp^?n2f2`p!SszbFEo6GPreYbfhBS03X%RE%t{OjLkAZF>J}=Aix+Nb~6zLxodBpWf zcvW4H+*C{K3#v9x9c!t)(UuxFFdiz=7lS9*tvup`RW!*BB z(W&xm6yDKKHkocU2GRy+m1`-PGf=6I7>Q^sD;G)8(YkpF17$60X_t`LKQ(Q~Nkh)0 zp_jcOUc`-6JdZGS#}CNBA|ldjtB#U&>qqsv3fwlQzh5EjuRs;+8nS)&MZuHYt*uZa zq{F0x3Zu8E^|z==tI%x5c@B)kuHt}gWhYr-9j&DmwUnJC4*Cny@qQJ}t;#P^1M{bE zws23-f90FP}o~Am=oN^&gqC0k)Izd(3vEJkQOs zEDE2ISyfJ_{nHV5+|36zi|IF02cI-{=u53;?9gEDWo@-#b3II_W^>|RXaj5!Ixyax zZh_%jIB&1Uxd;y{!Qo30{Y)>I(cbWg)qu}MB|25r+A0_fyn^dA{xL@>k#f{ST@9gj zh4k>oGpa~boQM8&f3!OQXr97<0w&;ghNr=MoR>xyb#H{vReXHcr5!T4&KulN)qdsD z+L|?Wt^O@Vg`8X$>7o%5(Lb1p?9d|3r@H&!H7`oI`xOu#N*e%|2uE`iwx>*OiGUwD zl0kwf%-Cf7oztzGnq{5rz*8y&9n|LxHjN>-?8Ms&pEkEbJIlQ#1zvw~slU))2IfJ6 z-I8gq2DhxFwA5cvTvVDuw=`C5#!sAxzY{-JeK|sJpL+p^<=#dafd}{t$G@a7c!6o8 zHUB*|(0H}Y#LY1-DPGx6N3z}=@c>sgoWzwaZ@#o?OZWP==AQoUO_920`cnkZv?qlt z8_!+Ai^HL1w*N0^+0M^}mT~N?uz&ZpYZI-_3CW z^5*Xr8cQLGWR9%l;4IOYu~7?o(M8v%pkWe=T82xz!QKTF6iOG?F~H7l%2SRVnVm~< z_6QcRJ-X1~0ZLs;!o`0#{DWw5l7-vSXsaTXlDxJQZ4L5AIOYAGZd5B1*ZRpO z@%kKDdO<&j`>45^lhLrpjKQ7-GA_iPiH`z%CO!e|S%Y}?^RZ`ZWb9exIPBSy@nljxKtbCc0@`+Q0(%C!El`=>o}2qW2YUu%;t}72oNk*bPEXQp z!=vne?y-)S1wIXI`&%u*wrR|2qm1`C)#%_U&zXMxZQE5v- zi(dlh%wG~JDrqY&f?XpNYAtOkDQoeC!(~M!g@xWW-{(TlYUTq5#?i4uKT9Id&Loj% ztB3DIZ8>8c@@y`T*OaqM=EcUvFJhh@DN8cXc973yp3QKK1IO;};ow+KJPUm53&62~ z@yN5P3y^2^@BBN+v(Omi+38uIjXcx*3&^vgvBKzl`^y-y-`;UG!AyF z*8CQ921XTz>}}yAcfP&(b2LQc6SFl6yqL;vrD7uk6Al4Fu%q+va&Rt zZk!8kXu}2qnXA}73HcOWuaC}*JCG{VYnjafltrK97;s46MY+31>x4o&fQ7{a7Gm}#4a{@38|wH)E8zn2+sC?K|4q|t9dXB1i} zhM9D$a2fBi(VHiunK16LE@#?S93uMrGy!A4H6n>OTymVDL9%G{IGb=QKh7f0T3=F= zD*aLI$o+6kj-F!5?d?!9P^G88sHC>c-+AShMa@k;!8Oqt66=wQ zqyni8EJUwVTIeqb7l9)k4*S~tZG~+BuiJcuCEy~qN;i*6?Cd%Z)hb>n8@T9E9$s=oq zqrfl)F36_e99h)VmytB_rThPFPVspj4{#8YFy zOUJzWP94WCanPF#rP2RdLp&p=(4=Jgs)jnr99BYmd8eI7BM#ngh#KyU8JK%__D5wZYFV4<7D*ic{UMdE=YlG<|93*^C`3!b}>F**FdtvoIrzTmle?1@Y{I` zQ23o0^dTU3a1o$!ZN*LKDt0@r=$2d$$~_t`G5ZQRg?8CGxc0?w6@ZDXRBv~>^>1pR>~p46y{EoBlgS-OE7;K9;wUb< z=_?o)`&95uhu(?5xQ`9hv&#%!<^%Q8(do)wS%oWo$yz^*q*61I#%5BFVwfg(D zqr-{Yy~EnW7YQRq{m-@4PHFSPs_w?N-Uaoso|gEA&Cb!2+B;8bNkPL&Z3@&|{Psz0 z#dX@j55r$ULph3|Pp6Xt{g9!&TsK||Z!j#p;Vuzc_#smQ-5cAuSZZo(h%a4TzjSr? zs$%*W*TQ>KT6i25u$(ti$QbExLKQpzcdGbYCCtiv+yf|boO(ZDC;5!I4qUg&V;7+A z9F}cJnTP1QJY=zX7FJ)>z#UNLxlKHlNGc9~J0m&C z04xbG5!}XGK11%&XN?POMTmJgz;FRtfa3J8a!g$nQzjZbB2P3p!1c=y<%tHd#6*LD zhHSOpiU;A8xvX8_bgFMkdw^rQF2O7BgOJ&WBCkPBAFfLW%GwkXB zF)KPyXRswF92^@X1H0AG>4EF>?@PgN_l?tmH|HL`KnE`K-3K5JpKx#tGEhp=Z&w8i zi@u_DB0VF4DWVKIAbr8pYI(|m_?$B3AOkv3NMjd~Rqh!bU)oYdKHr=ZHuU=P!dN@qu?vp2FNR@YwNu&B7xd!;xRfTXtm z7@F*b*GPowGXL(tcPax2!ngH5p5MbHak?#0O{mdl10V^IejpwQkm_8RA^_MCuCQU; z2?zTR?9+1H#&Q(hc8x0T^f(AFm7q|9-TdavuKyVP5(Jz^1@xU;X$us-oek<7lCJSc zq@Ocekp%8y(ZI>f8!kY==6{5PFU8ZBC|Mfz829BRY5JHmG8oo9k}dP}@eW&N3P$!j zi#bVx-SeVuPJ#q$09HS=!BUtc!RF4iSjLfHcYQ1@F5s&wg$xcJJeZKVz7h#A!lIU< zA}L(vE%k+^wo-3lK|yIrxU8+H#9Let_J#c|A?cR=kJc|F4cvg_+v|X0D*lJ*4HSm;IS0n+(mB{+^x8zMSsFUXf`v$ioK)eyL#1dH!WM zUXAoivDaHzQs6J~70T(C)2|rq4zE7}b{}}raGsmnbAg-`ZRE@Qt1CWG*YuhBxB)Lt z6l9=Mxfb!yy@%yY%W_okk!i{B-8{*Y-+to-vw}Pm2P@E*sa|3#vNg9KowC9tXzNYk z=gs(tqyfut=Z~4t;JtEa?>0PJ6bXCAjrM5oiRHH|wElekO^h4=Vv!kWqd_OF?>Mad z*r4OCCf5r#B~2RpQ#v=^x9D$V%&rFG%bu-Dz)COO{_I2*!LmKH3vrLO^3!K#tK)%uwByL^B^lQ|A zzn@4T-o5GwMicPEz_U-xmRY1DdiZtB0ohJr$+WcsQy1vzd373z4WAOr`E|iDWDRfZ z1p%8U3xlCo)283AG1pwl8Jt~x^b;GOM}kDB{=vztidNWUHfm?J^S2r~${y^sp{l^$ zUuW-yFq>?-JqMOA2|u_2bDOI4Iodt@h71N7l{$P*f2|tGp!Vp%QZ{Y+#SFhxnH_Yj z6}jWcktMRv%Mvkkgpt@UbDL#*SJW~+kJsDa(p`@5)M8cxtYJOF4(v=Cy#6*>XB>Rz zW%aIGO-*W5JTm>qn!C48alM!^ajJ!9;-m-qAZ_?rdQt%EZ&K3_K6R?a`_H6T+)B!y zNiV)FJ+ftgb=MueFPmP~dR|H&eLB7WY3E(K{--L+sQ7XJQyY8I^B*5xQ`ehr<1DsV ze*fTI11k<+mELu`K7?%QbIa`;`}#lHgVH#EJEll1XwoKlv{irWbSSX30^T#pRd3 zy@}guv8A}#lygD8<}l49wdTeQisJ18c<^Wlfgs={k<>V_72JFjj^VK>OmF$Mn^$kZ ze}p>3>2rBrd>tNma^@I4vB-(fDGLr$%H%0iZu$-E0WsrjHy0oH7Cz=9EKFki@=_~L zireqa;e$z*BQk>F?NH{_)bc~5Dlfmz%@z~ia6%jChp8n<|6)rl!5VeGmQTmJ(Wb1z zm}LaMHf0s!l}F5zT7^2lsN$~#j>p6*6n?9M1#_}x*SKXUZcWbUq5HU!m6v18nOgzu zGnOM4S~0O+wYf)^i#7{B%}YMq*(EvnEKVJ6zx={wX~VL_%$2akU{j2jp-f}y;1xFJ zBu2a8;YPOQI>n!ZaTw?%HG%EO%mod8ym1L6FE8ecD|vW0j>^lHq8!C8Uj8YSd=wLD z^;=0MK&m+-mLdb-8N_+u2d=6D@=g`{fR>(F6BR#EIhNL*Nh2~bKsZ5W(g@pdt|HkL z!dpZV0VC1}vKYa;3x$kQ@t95#UNPng@x;{^2rm#NT8&yWT}_9LE6s8zOP*0rTeFkl zu;ojZemN&ioyD_>K`x8x9s-XLay`^f(VLCx`LTR&cARs&Q4FFsN7820~{q3yO5FAny}3WvbFCr}$0&^IpUEf&1%0#76v zXFF(tai%+2ujS#dFF?Qo2z+Rs@4?UQw=BTk%jfrH*0Nlkq~%)zo95X?$o!V;xaZ$< z9YHG!PK3u2mj97*)@y%h{USo8kW6wXSX!L|=X@Ww>{jqXb|9bt^LYN0Sc`R7` z5e@Dqp@A%IAlllz;=Y#K(#XnruLPdG<2iA-n`34M($J12^?){Vny29MS zDSVs1>iu6Q^*S@j^E88T56<4MQi&0NF{M~xoW;b0)r3WJOyA`VCtIA@SuhJ3~Rox%Dc>1N7m(kkGO}fI0z#3 z?AZVs@K6)AnJC8DASsvc=s;M(XLD^vZ$^s0-5=eruG*K*2ifqTW3yXaOjZv3{^g9| z0X3#i2^Ur4)vIe>+Th`}&S*Q>wt2yOhIhIQL4 z+bO+vAk7%D|Cr1fd5Y5APwGEnI^;ZBWP!^h~w2JD%UK5;c`$Vm{TYueiMK`jIF=frE)GwR{j88S`NXW_%(cWgXi zsrpXqBoJVEBPYGt~8)B(`mMf%vSjD{y7aBGT5se!79Z{dK{6 zz_nlh3LExSD}75IImAkOzjY@?z~s84StA-!n|rZtTHuGmEGOEm!|1if(uC<-WNN_k ztES4HZ_94vuu_(9^LF&C#lmP}{4CeE{spz}+p1W6sA=$_Z0;?FKVV*_DLdsQ4$x}Z zOU#4f7|7W;>Y|~5GZGZNDskf_-&LO&1H~#|tC4nWKV1K#;ce4TXcL`8);n3&G3|ki3nI`W2rL!Ufi^#qkN$nz1 z@hh?qHdTMs9#RpM-QxYRvc>2=J8`6c;Q8{mWf%8te;P`+ED+m|Olj~;DnG1l*qE+{ zAHA)Tw0&Rufw$pdQlD1;)iv9M*8xh;mPaRs5Qz*0h|0w9CI@LAc3Z zwozz-RM(#|6>wd6zVewxBm z5V~Khb^b~o5R6yWZ-1Jy4&6hY3j4w&(YC(&pY$#{xVm3w1+dzI2n3FR`R!{p^ zWHoGtv3TGIUM(1e9A^>=V-!j*+9VfM8iN3-0S>gYlzY!}*>9OxGB564(u!5DGukituV zOp=o_l4Yedl!Ltn&jd0(zI*N6Q(QmIm{?};OiY^5M}g$Lf^6NtTFwliZAsRwf%5%p z$n2q}f^j*ss!IhD$i2Ptf-K^|)N0QKNyOq_A-ATuSWqpG3}%q%{uaO&Lqk`oF__cU z#!exzBX$*+l3z!K)RatVIZ|M~6)q|jKheAKkZLyu-^51`tLhG`4p?qJy5|tHk=D_J zsV_1DwVGK?yf;ifApD>E$g>hIQFyHlM( zDjf#3Dve~QNVSTnEJ6m~_ZaRVk$vHP8oq|#b8yecy%_h&gyk)?5T{BB6d=ksqPwQW zQ`Ha9bR>%8X?Itx%$)We{VUys?;!GK+wwGM(Wu5>*AOFC*HOmG^FJ70L0 z{+&N5g2qPze+vOZoV4M7E$;j&)7wMuWj^~M^^SfBW9Aq9S@rSGZ{+kZ{LTLWneG71 diff --git a/packs/gps-generic-features/002064.log b/packs/gps-generic-features/002095.log similarity index 100% rename from packs/gps-generic-features/002064.log rename to packs/gps-generic-features/002095.log diff --git a/packs/gps-generic-features/002098.ldb b/packs/gps-generic-features/002098.ldb new file mode 100644 index 0000000000000000000000000000000000000000..e4a13a6e11d23ba7b53200c916eee126e76eb70f GIT binary patch literal 25103 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 literal 0 HcmV?d00001 diff --git a/packs/gps-generic-features/CURRENT b/packs/gps-generic-features/CURRENT index baecc1fe..d2e3a656 100644 --- a/packs/gps-generic-features/CURRENT +++ b/packs/gps-generic-features/CURRENT @@ -1 +1 @@ -MANIFEST-002062 +MANIFEST-002092 diff --git a/packs/gps-generic-features/LOG b/packs/gps-generic-features/LOG index d2ae1945..4646c4e8 100644 --- a/packs/gps-generic-features/LOG +++ b/packs/gps-generic-features/LOG @@ -1,8 +1,24 @@ -2024/05/10-18:11:17.175 7278 Recovering log #2059 -2024/05/10-18:11:17.183 7278 Delete type=0 #2059 -2024/05/10-18:11:17.183 7278 Delete type=3 #2057 -2024/05/10-18:13:00.669 358c Level-0 table #2065: started -2024/05/10-18:13:00.669 358c Level-0 table #2065: 0 bytes OK -2024/05/10-18:13:00.673 358c Delete type=0 #2063 -2024/05/10-18:13:00.677 358c Manual compaction at level-0 from '!items!0XoQ7lGPSwjM8Gw4' @ 72057594037927935 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.678 358c Manual compaction at level-1 from '!items!0XoQ7lGPSwjM8Gw4' @ 72057594037927935 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.799 19eac Recovering log #2091 +2024/05/18-14:08:11.800 19eac Level-0 table #2093: started +2024/05/18-14:08:11.807 19eac Level-0 table #2093: 34535 bytes OK +2024/05/18-14:08:11.813 19eac Delete type=0 #2091 +2024/05/18-14:08:11.813 19eac Delete type=3 #2090 +2024/05/18-19:40:28.511 18fb8 Level-0 table #2096: started +2024/05/18-19:40:28.516 18fb8 Level-0 table #2096: 36954 bytes OK +2024/05/18-19:40:28.519 18fb8 Delete type=0 #2094 +2024/05/18-19:40:28.531 18fb8 Manual compaction at level-0 from '!items!0XoQ7lGPSwjM8Gw4' @ 72057594037927935 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at '!items.effects!dTFcLHRsLxw4R7PQ.1IkBgxOFEYJd4z53' @ 535 : 1 +2024/05/18-19:40:28.531 18fb8 Compacting 2@0 + 0@1 files +2024/05/18-19:40:28.535 18fb8 Generated table #2097@0: 5 keys, 16439 bytes +2024/05/18-19:40:28.535 18fb8 Compacted 2@0 + 0@1 files => 16439 bytes +2024/05/18-19:40:28.537 18fb8 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/05/18-19:40:28.537 18fb8 Delete type=2 #2093 +2024/05/18-19:40:28.537 18fb8 Delete type=2 #2096 +2024/05/18-19:40:28.541 18fb8 Manual compaction at level-0 from '!items.effects!dTFcLHRsLxw4R7PQ.1IkBgxOFEYJd4z53' @ 535 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.545 18fb8 Manual compaction at level-1 from '!items!0XoQ7lGPSwjM8Gw4' @ 72057594037927935 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at '!items.effects!dTFcLHRsLxw4R7PQ.1IkBgxOFEYJd4z53' @ 540 : 1 +2024/05/18-19:40:28.545 18fb8 Compacting 1@1 + 1@2 files +2024/05/18-19:40:28.548 18fb8 Generated table #2098@1: 12 keys, 25103 bytes +2024/05/18-19:40:28.548 18fb8 Compacted 1@1 + 1@2 files => 25103 bytes +2024/05/18-19:40:28.549 18fb8 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/05/18-19:40:28.549 18fb8 Delete type=2 #2089 +2024/05/18-19:40:28.549 18fb8 Delete type=2 #2097 +2024/05/18-19:40:28.552 18fb8 Manual compaction at level-1 from '!items.effects!dTFcLHRsLxw4R7PQ.1IkBgxOFEYJd4z53' @ 540 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at (end) diff --git a/packs/gps-generic-features/LOG.old b/packs/gps-generic-features/LOG.old index f9e684ac..19ffd7f2 100644 --- a/packs/gps-generic-features/LOG.old +++ b/packs/gps-generic-features/LOG.old @@ -1,15 +1,3 @@ -2024/05/10-17:34:18.811 7274 Recovering log #2055 -2024/05/10-17:34:18.820 7274 Delete type=0 #2055 -2024/05/10-17:34:18.821 7274 Delete type=3 #2053 -2024/05/10-18:08:06.736 358c Level-0 table #2060: started -2024/05/10-18:08:06.759 358c Level-0 table #2060: 174893 bytes OK -2024/05/10-18:08:06.762 358c Delete type=0 #2058 -2024/05/10-18:08:06.762 358c Manual compaction at level-0 from '!items!0XoQ7lGPSwjM8Gw4' @ 72057594037927935 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.762 358c Manual compaction at level-1 from '!items!0XoQ7lGPSwjM8Gw4' @ 72057594037927935 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at '!items.effects!eUTU3JSbo7X98INw.1IkBgxOFEYJd4z53' @ 507 : 1 -2024/05/10-18:08:06.762 358c Compacting 1@1 + 1@2 files -2024/05/10-18:08:06.781 358c Generated table #2061@1: 12 keys, 31917 bytes -2024/05/10-18:08:06.781 358c Compacted 1@1 + 1@2 files => 31917 bytes -2024/05/10-18:08:06.783 358c compacted to: files[ 0 0 1 0 0 0 0 ] -2024/05/10-18:08:06.783 358c Delete type=2 #2044 -2024/05/10-18:08:06.784 358c Delete type=2 #2060 -2024/05/10-18:08:06.795 358c Manual compaction at level-1 from '!items.effects!eUTU3JSbo7X98INw.1IkBgxOFEYJd4z53' @ 507 : 1 .. '!items.effects!svKaRfNtOXMOXoW6.NcYMpQ7B3RwBuLC7' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.145 20538 Recovering log #2086 +2024/05/17-18:27:08.150 20538 Delete type=0 #2086 +2024/05/17-18:27:08.150 20538 Delete type=3 #2083 diff --git a/packs/gps-generic-features/MANIFEST-002062 b/packs/gps-generic-features/MANIFEST-002062 deleted file mode 100644 index 7774cd09f542956cc580a2d03d36c1d212d6cf35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmez5{z~r?10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAei18!g<@t&YHqP!YFb)q za!IkGK}3F_d5(KPaCw%mg?qV)o@a$maY1rgrIBY~a+PIfB;y%I1`uFnMAw=c8WL*k z6`YiB9${(W=~u32=$Y-5Ug7WN8tIi{Qe|q)_#2{?ovBw~?N3H|h}9TYGG2oyLpQ&; z%sVkC&9B5i!q-0{Kio{uFFDe;Akf^&IH=sI)W_MJaU(=yz^iK(+zgCN{Q{f}%o7Ay T+F0IXmVW?=OaO^Y0*L?s?3Ptc diff --git a/packs/gps-generic-features/MANIFEST-002092 b/packs/gps-generic-features/MANIFEST-002092 new file mode 100644 index 0000000000000000000000000000000000000000..9105ed1e52a26e06015b6c892783519ebce77d10 GIT binary patch literal 789 zcmcC`zwXBY21Z7yoYb<^oRlOzr^=Gl^338?=ltA)#G=HK{32EcdBx0<)ZAi4m$1kR z12>bDAb)S)f(&OvMnNV95MX7*sX_#zf}Lrlz{wkMWd;%Xf#x~x0m0>2z83D~CXCk@ z!3J4CEYeF&OG`~IDOM~l^G*y(^DFU>@b!<#4>!~EOOEs{2sC#x4k~vl^>H?5+z8d! zFLpYcfstvQ04D?UdI6T1EbI(x1)ldZ;c^&*7{p=dHl~EQCHr^;75h|_n*^B$1nL=j zW;>-<_`A7AdZn0DnHn>SLp0hL%7lV!To1BwqX5fdpp6>@ZY_Y@Xqjd1V-TL_?^fua zRg#$D#;8oLjZzSei$A}fv<_zDCXkJ+3}ic>4H!IZKnJrkZWP$w0FM~zIa&tdXhT1V jUbv$-gB{ICx}%|nu>l>+224rpOq&GykH8&G_0$9aj|$np literal 0 HcmV?d00001 diff --git a/packs/gps-homebrew-features/001982.log b/packs/gps-homebrew-features/002008.log similarity index 100% rename from packs/gps-homebrew-features/001982.log rename to packs/gps-homebrew-features/002008.log diff --git a/packs/gps-homebrew-features/CURRENT b/packs/gps-homebrew-features/CURRENT index f4da1e7e..f0039f1b 100644 --- a/packs/gps-homebrew-features/CURRENT +++ b/packs/gps-homebrew-features/CURRENT @@ -1 +1 @@ -MANIFEST-001980 +MANIFEST-002006 diff --git a/packs/gps-homebrew-features/LOG b/packs/gps-homebrew-features/LOG index de0277c3..47ae36ce 100644 --- a/packs/gps-homebrew-features/LOG +++ b/packs/gps-homebrew-features/LOG @@ -1,8 +1,8 @@ -2024/05/10-18:11:17.197 7284 Recovering log #1978 -2024/05/10-18:11:17.206 7284 Delete type=0 #1978 -2024/05/10-18:11:17.207 7284 Delete type=3 #1976 -2024/05/10-18:13:00.681 358c Level-0 table #1983: started -2024/05/10-18:13:00.682 358c Level-0 table #1983: 0 bytes OK -2024/05/10-18:13:00.687 358c Delete type=0 #1981 -2024/05/10-18:13:00.701 358c Manual compaction at level-0 from '!folders!4OzV9QdsPgTyK99q' @ 72057594037927935 : 1 .. '!items.effects!ba3fwkX1XMdyqBaE.hPR9ii2vho7FqWlZ' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.701 358c Manual compaction at level-1 from '!folders!4OzV9QdsPgTyK99q' @ 72057594037927935 : 1 .. '!items.effects!ba3fwkX1XMdyqBaE.hPR9ii2vho7FqWlZ' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.821 13dc Recovering log #2005 +2024/05/18-14:08:11.827 13dc Delete type=0 #2005 +2024/05/18-14:08:11.828 13dc Delete type=3 #2004 +2024/05/18-19:40:28.537 18fb8 Level-0 table #2009: started +2024/05/18-19:40:28.537 18fb8 Level-0 table #2009: 0 bytes OK +2024/05/18-19:40:28.540 18fb8 Delete type=0 #2007 +2024/05/18-19:40:28.545 18fb8 Manual compaction at level-0 from '!folders!4OzV9QdsPgTyK99q' @ 72057594037927935 : 1 .. '!items.effects!ba3fwkX1XMdyqBaE.hPR9ii2vho7FqWlZ' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.552 18fb8 Manual compaction at level-1 from '!folders!4OzV9QdsPgTyK99q' @ 72057594037927935 : 1 .. '!items.effects!ba3fwkX1XMdyqBaE.hPR9ii2vho7FqWlZ' @ 0 : 0; will stop at (end) diff --git a/packs/gps-homebrew-features/LOG.old b/packs/gps-homebrew-features/LOG.old index bd07b97d..5d91a685 100644 --- a/packs/gps-homebrew-features/LOG.old +++ b/packs/gps-homebrew-features/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.839 7284 Recovering log #1974 -2024/05/10-17:34:18.850 7284 Delete type=0 #1974 -2024/05/10-17:34:18.850 7284 Delete type=3 #1972 -2024/05/10-18:08:06.723 358c Level-0 table #1979: started -2024/05/10-18:08:06.723 358c Level-0 table #1979: 0 bytes OK -2024/05/10-18:08:06.728 358c Delete type=0 #1977 -2024/05/10-18:08:06.762 358c Manual compaction at level-0 from '!folders!4OzV9QdsPgTyK99q' @ 72057594037927935 : 1 .. '!items.effects!ba3fwkX1XMdyqBaE.hPR9ii2vho7FqWlZ' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.762 358c Manual compaction at level-1 from '!folders!4OzV9QdsPgTyK99q' @ 72057594037927935 : 1 .. '!items.effects!ba3fwkX1XMdyqBaE.hPR9ii2vho7FqWlZ' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.153 ff48 Recovering log #2002 +2024/05/17-18:27:08.158 ff48 Delete type=0 #2002 +2024/05/17-18:27:08.158 ff48 Delete type=3 #2000 diff --git a/packs/gps-homebrew-features/MANIFEST-001980 b/packs/gps-homebrew-features/MANIFEST-002006 similarity index 67% rename from packs/gps-homebrew-features/MANIFEST-001980 rename to packs/gps-homebrew-features/MANIFEST-002006 index d42f8fed2f26e4ea540e5b764c2a5db1da7a39b1..4015e774ae9e3def98b2f397d4b32a1dd6880b79 100644 GIT binary patch delta 41 rcmbQsG?!_@ZzV_dP;)K@MyBihoD9r2_*v2-m;3pG1a5!?ZUF@V=j{p} delta 41 scmbQsG?!_@Z>8j#7jL;37@79+b22dR<7Y|xaNYhnNMIjG-~dnn04`Y!$N&HU diff --git a/packs/gps-homebrew-items/001991.log b/packs/gps-homebrew-items/002017.log similarity index 100% rename from packs/gps-homebrew-items/001991.log rename to packs/gps-homebrew-items/002017.log diff --git a/packs/gps-homebrew-items/CURRENT b/packs/gps-homebrew-items/CURRENT index 1178bd05..288e65ed 100644 --- a/packs/gps-homebrew-items/CURRENT +++ b/packs/gps-homebrew-items/CURRENT @@ -1 +1 @@ -MANIFEST-001989 +MANIFEST-002015 diff --git a/packs/gps-homebrew-items/LOG b/packs/gps-homebrew-items/LOG index f4e4b784..644ae213 100644 --- a/packs/gps-homebrew-items/LOG +++ b/packs/gps-homebrew-items/LOG @@ -1,8 +1,8 @@ -2024/05/10-18:11:17.222 7278 Recovering log #1987 -2024/05/10-18:11:17.232 7278 Delete type=0 #1987 -2024/05/10-18:11:17.232 7278 Delete type=3 #1985 -2024/05/10-18:13:00.692 358c Level-0 table #1992: started -2024/05/10-18:13:00.692 358c Level-0 table #1992: 0 bytes OK -2024/05/10-18:13:00.697 358c Delete type=0 #1990 -2024/05/10-18:13:00.701 358c Manual compaction at level-0 from '!items!1WSJjnpLJhilXEgO' @ 72057594037927935 : 1 .. '!items.effects!zEXJxqsAmVM7Pohu.eA3jhjz26f35OLfw' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.701 358c Manual compaction at level-1 from '!items!1WSJjnpLJhilXEgO' @ 72057594037927935 : 1 .. '!items.effects!zEXJxqsAmVM7Pohu.eA3jhjz26f35OLfw' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.846 19eac Recovering log #2014 +2024/05/18-14:08:11.853 19eac Delete type=0 #2014 +2024/05/18-14:08:11.853 19eac Delete type=3 #2013 +2024/05/18-19:40:28.541 18fb8 Level-0 table #2018: started +2024/05/18-19:40:28.541 18fb8 Level-0 table #2018: 0 bytes OK +2024/05/18-19:40:28.545 18fb8 Delete type=0 #2016 +2024/05/18-19:40:28.552 18fb8 Manual compaction at level-0 from '!items!1WSJjnpLJhilXEgO' @ 72057594037927935 : 1 .. '!items.effects!zEXJxqsAmVM7Pohu.eA3jhjz26f35OLfw' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.552 18fb8 Manual compaction at level-1 from '!items!1WSJjnpLJhilXEgO' @ 72057594037927935 : 1 .. '!items.effects!zEXJxqsAmVM7Pohu.eA3jhjz26f35OLfw' @ 0 : 0; will stop at (end) diff --git a/packs/gps-homebrew-items/LOG.old b/packs/gps-homebrew-items/LOG.old index 68d5eaba..8e21edb5 100644 --- a/packs/gps-homebrew-items/LOG.old +++ b/packs/gps-homebrew-items/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.857 7274 Recovering log #1983 -2024/05/10-17:34:18.866 7274 Delete type=0 #1983 -2024/05/10-17:34:18.866 7274 Delete type=3 #1981 -2024/05/10-18:08:06.715 358c Level-0 table #1988: started -2024/05/10-18:08:06.715 358c Level-0 table #1988: 0 bytes OK -2024/05/10-18:08:06.722 358c Delete type=0 #1986 -2024/05/10-18:08:06.762 358c Manual compaction at level-0 from '!items!1WSJjnpLJhilXEgO' @ 72057594037927935 : 1 .. '!items.effects!zEXJxqsAmVM7Pohu.eA3jhjz26f35OLfw' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.762 358c Manual compaction at level-1 from '!items!1WSJjnpLJhilXEgO' @ 72057594037927935 : 1 .. '!items.effects!zEXJxqsAmVM7Pohu.eA3jhjz26f35OLfw' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.163 20538 Recovering log #2011 +2024/05/17-18:27:08.168 20538 Delete type=0 #2011 +2024/05/17-18:27:08.168 20538 Delete type=3 #2009 diff --git a/packs/gps-homebrew-items/MANIFEST-001989 b/packs/gps-homebrew-items/MANIFEST-002015 similarity index 81% rename from packs/gps-homebrew-items/MANIFEST-001989 rename to packs/gps-homebrew-items/MANIFEST-002015 index 946c82bb50d61932365c3ad7c2bff78b65129653..bc638e7ff9d791a88f16e06388b0f77d92a8718c 100644 GIT binary patch delta 43 tcmaFO_?mITag{se#ml%E7?~dMb22bL4kiEq delta 43 tcmaFO_?mITah2tpp3mfFU}QSR&&j}ioS$U@ll8NNa*)VzkjP1p2mn$V4E_KB diff --git a/packs/gps-homebrew-spells/001659.log b/packs/gps-homebrew-spells/001685.log similarity index 100% rename from packs/gps-homebrew-spells/001659.log rename to packs/gps-homebrew-spells/001685.log diff --git a/packs/gps-homebrew-spells/CURRENT b/packs/gps-homebrew-spells/CURRENT index 91fb4906..9a09e4c4 100644 --- a/packs/gps-homebrew-spells/CURRENT +++ b/packs/gps-homebrew-spells/CURRENT @@ -1 +1 @@ -MANIFEST-001657 +MANIFEST-001683 diff --git a/packs/gps-homebrew-spells/LOG b/packs/gps-homebrew-spells/LOG index dd765d0b..7676b6fc 100644 --- a/packs/gps-homebrew-spells/LOG +++ b/packs/gps-homebrew-spells/LOG @@ -1,8 +1,8 @@ -2024/05/10-18:11:17.242 7284 Recovering log #1655 -2024/05/10-18:11:17.257 7284 Delete type=0 #1655 -2024/05/10-18:11:17.258 7284 Delete type=3 #1653 -2024/05/10-18:13:00.688 358c Level-0 table #1660: started -2024/05/10-18:13:00.688 358c Level-0 table #1660: 0 bytes OK -2024/05/10-18:13:00.692 358c Delete type=0 #1658 -2024/05/10-18:13:00.701 358c Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.fAK9x7lIORqSnaz1' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.701 358c Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.fAK9x7lIORqSnaz1' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.864 13dc Recovering log #1682 +2024/05/18-14:08:11.870 13dc Delete type=0 #1682 +2024/05/18-14:08:11.870 13dc Delete type=3 #1681 +2024/05/18-19:40:28.549 18fb8 Level-0 table #1686: started +2024/05/18-19:40:28.549 18fb8 Level-0 table #1686: 0 bytes OK +2024/05/18-19:40:28.552 18fb8 Delete type=0 #1684 +2024/05/18-19:40:28.552 18fb8 Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.fAK9x7lIORqSnaz1' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.552 18fb8 Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.fAK9x7lIORqSnaz1' @ 0 : 0; will stop at (end) diff --git a/packs/gps-homebrew-spells/LOG.old b/packs/gps-homebrew-spells/LOG.old index 9dcaf0f9..df0ede6e 100644 --- a/packs/gps-homebrew-spells/LOG.old +++ b/packs/gps-homebrew-spells/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.872 7284 Recovering log #1651 -2024/05/10-17:34:18.880 7284 Delete type=0 #1651 -2024/05/10-17:34:18.880 7284 Delete type=3 #1649 -2024/05/10-18:08:06.729 358c Level-0 table #1656: started -2024/05/10-18:08:06.729 358c Level-0 table #1656: 0 bytes OK -2024/05/10-18:08:06.735 358c Delete type=0 #1654 -2024/05/10-18:08:06.762 358c Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.fAK9x7lIORqSnaz1' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.762 358c Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.fAK9x7lIORqSnaz1' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.174 ff48 Recovering log #1679 +2024/05/17-18:27:08.179 ff48 Delete type=0 #1679 +2024/05/17-18:27:08.179 ff48 Delete type=3 #1677 diff --git a/packs/gps-homebrew-spells/MANIFEST-001657 b/packs/gps-homebrew-spells/MANIFEST-001683 similarity index 56% rename from packs/gps-homebrew-spells/MANIFEST-001657 rename to packs/gps-homebrew-spells/MANIFEST-001683 index 957a3d1e3579a2ada9e82961fe2232e5c1c545d5..2b542a7fac1cef848ae183208480a37e9bf1d1ed 100644 GIT binary patch delta 43 tcmaFJ_>ghJUX@Qz9yM??FfvWyghJUX`79-urPgFf#q(;bdU`&BL;oG1{oo8YJ=?B=Q#|0su}m4C(*? diff --git a/packs/gps-items/001983.log b/packs/gps-items/002009.log similarity index 100% rename from packs/gps-items/001983.log rename to packs/gps-items/002009.log diff --git a/packs/gps-items/CURRENT b/packs/gps-items/CURRENT index 9fd6c444..c77b85c6 100644 --- a/packs/gps-items/CURRENT +++ b/packs/gps-items/CURRENT @@ -1 +1 @@ -MANIFEST-001981 +MANIFEST-002007 diff --git a/packs/gps-items/LOG b/packs/gps-items/LOG index 3a95ef7f..38afff4e 100644 --- a/packs/gps-items/LOG +++ b/packs/gps-items/LOG @@ -1,8 +1,8 @@ -2024/05/10-18:11:17.144 72c0 Recovering log #1979 -2024/05/10-18:11:17.150 72c0 Delete type=0 #1979 -2024/05/10-18:11:17.150 72c0 Delete type=3 #1977 -2024/05/10-18:13:00.660 358c Level-0 table #1984: started -2024/05/10-18:13:00.660 358c Level-0 table #1984: 0 bytes OK -2024/05/10-18:13:00.665 358c Delete type=0 #1982 -2024/05/10-18:13:00.677 358c Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) -2024/05/10-18:13:00.677 358c Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/05/18-14:08:11.758 19eac Recovering log #2006 +2024/05/18-14:08:11.763 19eac Delete type=0 #2006 +2024/05/18-14:08:11.763 19eac Delete type=3 #2005 +2024/05/18-19:40:28.487 18fb8 Level-0 table #2010: started +2024/05/18-19:40:28.487 18fb8 Level-0 table #2010: 0 bytes OK +2024/05/18-19:40:28.490 18fb8 Delete type=0 #2008 +2024/05/18-19:40:28.492 18fb8 Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.499 18fb8 Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) diff --git a/packs/gps-items/LOG.old b/packs/gps-items/LOG.old index 8a7edb77..0a0a1261 100644 --- a/packs/gps-items/LOG.old +++ b/packs/gps-items/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.767 7274 Recovering log #1975 -2024/05/10-17:34:18.775 7274 Delete type=0 #1975 -2024/05/10-17:34:18.775 7274 Delete type=3 #1973 -2024/05/10-18:08:06.702 358c Level-0 table #1980: started -2024/05/10-18:08:06.702 358c Level-0 table #1980: 0 bytes OK -2024/05/10-18:08:06.706 358c Delete type=0 #1978 -2024/05/10-18:08:06.713 358c Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.713 358c Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.118 20538 Recovering log #2003 +2024/05/17-18:27:08.124 20538 Delete type=0 #2003 +2024/05/17-18:27:08.124 20538 Delete type=3 #2001 diff --git a/packs/gps-items/MANIFEST-001981 b/packs/gps-items/MANIFEST-002007 similarity index 63% rename from packs/gps-items/MANIFEST-001981 rename to packs/gps-items/MANIFEST-002007 index 3ffac2ef27706eeaa4dc0211bd8321e4054825ef..000cee99b608fd7de2ac297a533cdcd4b7d3091d 100644 GIT binary patch delta 43 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 Qv#RU9&sAM(22p3z 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 Vck{EjZ)@xp0SW8|3G4+5006a(NzniR diff --git a/packs/gps-monster-features/MANIFEST-002006 b/packs/gps-monster-features/MANIFEST-002006 new file mode 100644 index 0000000000000000000000000000000000000000..13d9331686a575cf84397d0ecc035a59bc48aac5 GIT binary patch literal 285 zcmWfqJ zJ)PT<3rYpNayv;HaqlJVsvzFkodQTPr)$Y5vJ) z85I@N@^eyBi;5LZOme(Te9S8WHRbOG%{?OY{kXE$aI~blY#jLKTFgMqaF{CzzvYVEua7ZmHSiN literal 0 HcmV?d00001 diff --git a/packs/gps-spells/002014.log b/packs/gps-spells/002044.log similarity index 100% rename from packs/gps-spells/002014.log rename to packs/gps-spells/002044.log diff --git a/packs/gps-spells/002007.ldb b/packs/gps-spells/002047.ldb similarity index 87% rename from packs/gps-spells/002007.ldb rename to packs/gps-spells/002047.ldb index 835fd4d6275201bdb993018d0f2a83ba1498b6ef..9451ecb80a501d8f6032a3e5dd48e76d12b76553 100644 GIT binary patch delta 9728 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 delta 8870 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 Q1&i?w3S#l%4GQu<0b73 4939 bytes +2024/05/18-19:40:28.499 18fb8 compacted to: files[ 0 1 1 0 0 0 0 ] +2024/05/18-19:40:28.499 18fb8 Delete type=2 #2042 +2024/05/18-19:40:28.511 18fb8 Manual compaction at level-0 from '!items!FgsZ9i4opay0zeXp' @ 701 : 1 .. '!items.effects!vxrggTopkxhq3MAn.T70VAw9NbZZUV7tZ' @ 0 : 0; will stop at (end) +2024/05/18-19:40:28.519 18fb8 Manual compaction at level-1 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!vxrggTopkxhq3MAn.T70VAw9NbZZUV7tZ' @ 0 : 0; will stop at '!items!FgsZ9i4opay0zeXp' @ 715 : 1 +2024/05/18-19:40:28.519 18fb8 Compacting 1@1 + 1@2 files +2024/05/18-19:40:28.528 18fb8 Generated table #2047@1: 44 keys, 153732 bytes +2024/05/18-19:40:28.528 18fb8 Compacted 1@1 + 1@2 files => 153732 bytes +2024/05/18-19:40:28.530 18fb8 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/05/18-19:40:28.531 18fb8 Delete type=2 #2030 +2024/05/18-19:40:28.531 18fb8 Delete type=2 #2046 +2024/05/18-19:40:28.541 18fb8 Manual compaction at level-1 from '!items!FgsZ9i4opay0zeXp' @ 715 : 1 .. '!items.effects!vxrggTopkxhq3MAn.T70VAw9NbZZUV7tZ' @ 0 : 0; will stop at (end) diff --git a/packs/gps-spells/LOG.old b/packs/gps-spells/LOG.old index 170caf18..75678a78 100644 --- a/packs/gps-spells/LOG.old +++ b/packs/gps-spells/LOG.old @@ -1,8 +1,3 @@ -2024/05/10-17:34:18.725 7274 Recovering log #2005 -2024/05/10-17:34:18.735 7274 Delete type=0 #2005 -2024/05/10-17:34:18.735 7274 Delete type=3 #2003 -2024/05/10-18:08:06.696 358c Level-0 table #2011: started -2024/05/10-18:08:06.696 358c Level-0 table #2011: 0 bytes OK -2024/05/10-18:08:06.702 358c Delete type=0 #2009 -2024/05/10-18:08:06.713 358c Manual compaction at level-0 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!vxrggTopkxhq3MAn.T70VAw9NbZZUV7tZ' @ 0 : 0; will stop at (end) -2024/05/10-18:08:06.713 358c Manual compaction at level-1 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!vxrggTopkxhq3MAn.T70VAw9NbZZUV7tZ' @ 0 : 0; will stop at (end) +2024/05/17-18:27:08.077 20538 Recovering log #2037 +2024/05/17-18:27:08.083 20538 Delete type=0 #2037 +2024/05/17-18:27:08.083 20538 Delete type=3 #2035 diff --git a/packs/gps-spells/MANIFEST-002012 b/packs/gps-spells/MANIFEST-002012 deleted file mode 100644 index 6dfb207e256aa5cbe71758ab93a4d714203e1d95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmXR87h$}~z{n_-lUkOVlai$8R9TW*o>`pgoS$2eSd>_jU&P8_p_o~cnp>=wnwFND zTvDu&$5yA Q+@=T3Ad!0@kq00V0PWgMegFUf diff --git a/packs/gps-spells/MANIFEST-002041 b/packs/gps-spells/MANIFEST-002041 new file mode 100644 index 0000000000000000000000000000000000000000..7dffb6d29fb3c1ce944776850491f45028d8a11d GIT binary patch literal 588 zcmc~-sc}2Nz{n_-lUkOVlai$8R9TW*o>`pgoS$2eSd>_jU&P8Fub5eqnp>=xpXKPE zpXQ#I=H`?UQCMKexRZ$i1XvjfsbFV%$G>J9Crp_^x@($WQF>IVV?|k>kEsXa4v0Y( z5R3Fu)6!CtONtfCDvHw6L-Gr4d=eI4`kLd*@q9Lp{JlA@wQ!^}&f7`q`FwaU_N z1Tio&{pROnVE)6;a+;N$;TQjnSu8Lc-O`JrEHh2=3lb|0s!}5g7*9hq;*{SDk!SI} zw2>QV@E?%D|3C&Srmw$W4iotg5 d.data?.id.split('_')[0] === dialogId.split('_')[0]); + if (dialog) { + dialog.updateTimer(timeLeft, isPaused); + } + } +} + export async function rollAsUser({ rollParams, type }) { if(!rollParams) return; let reroll; @@ -85,9 +104,11 @@ export async function handleDialogPromises(userDialogPromise, gmDialogPromise) { }); } -export function findValidTokens({token, target, itemName, itemType, itemChecked, reactionCheck, sightCheck, rangeCheck, rangeTotal, dispositionCheck, dispositionCheckType, workflowType, workflowCombat}) { +export function findValidTokens({initiatingToken, targetedToken, itemName, itemType, itemChecked, reactionCheck, sightCheck, rangeCheck, rangeTotal, dispositionCheck, dispositionCheckType, workflowType, workflowCombat}) { let validTokens; + let debugEnabled = MidiQOL.safeGetGameSetting('gambits-premades', 'debugEnabled'); + if (workflowCombat === false) { validTokens = canvas.tokens.placeables.filter(t => filterToken(t)); } else { @@ -97,28 +118,34 @@ export function findValidTokens({token, target, itemName, itemType, itemChecked, function filterToken(t) { // Check if invalid token on the canvas if (!t.actor) return; + if(debugEnabled) console.log(`${t.actor.name} made it past actor`) // Check if the token has the actual item to use let checkItem = t.actor.items.find(i => i.name.toLowerCase() === itemName); if(!checkItem) return; + if(debugEnabled) console.log(`${t.actor.name} made it past check item initial`) // Check if the tokens reaction already used if (reactionCheck && t.actor.effects.find(i => i.name.toLowerCase() === "reaction")) return; - + if(debugEnabled) console.log(`${t.actor.name} made it past reaction`) + // Check if the token is the initiating token or not a qualifying token disposition - if (dispositionCheck && (t.id === token.id || (dispositionCheckType === "enemy" && t.document.disposition === token.document.disposition) || (dispositionCheckType === "ally" && t.document.disposition !== target.document.disposition))) { + if (dispositionCheck && (t.id === initiatingToken.id || ((dispositionCheckType === "enemy" || dispositionCheckType === "enemyAlly") && t.document.disposition === initiatingToken.document.disposition) || (dispositionCheckType === "ally" && t.document.disposition !== initiatingToken.document.disposition))) { return; } + if(debugEnabled) console.log(`${t.actor.name} made it past disposition check`) // Check if token can see initiating token - if(sightCheck && !MidiQOL.canSee(t, token)) return; + if(sightCheck && !MidiQOL.canSee(t, initiatingToken)) return; + if(debugEnabled) console.log(`${t.actor.name} made it past sight check`) - // Check if token is within 60 feet + // Check if token is within range if(rangeCheck) { - let measuredDistance = (dispositionCheckType === "ally") ? MidiQOL.computeDistance(target,t,true) : MidiQOL.computeDistance(token,t,true); + let measuredDistance = (dispositionCheckType === "ally" || dispositionCheckType === "enemyAlly") ? MidiQOL.computeDistance(targetedToken,t,true) : MidiQOL.computeDistance(initiatingToken,t,true); let range = game.gps.convertFromFeet({range: rangeTotal}); if (measuredDistance === -1 || (measuredDistance > range)) return; } + if(debugEnabled) console.log(`${t.actor.name} made it past range check`) // Check if the token has available spell slots/uses if(itemType === "spell") { @@ -153,6 +180,7 @@ export function findValidTokens({token, target, itemName, itemType, itemChecked, return; } } + if(debugEnabled) console.log(`${t.actor.name} made it past check spell`) // Check if the token has available resource or item uses if(itemType === "feature") { @@ -168,6 +196,7 @@ export function findValidTokens({token, target, itemName, itemType, itemChecked, if (!resourceExistsWithValue && !itemExistsWithValue) return; } + if(debugEnabled) console.log(`${t.actor.name} made it past check feature`) if(itemType === "item") { const itemNames = itemChecked.map(item => item.toLowerCase()); @@ -175,6 +204,7 @@ export function findValidTokens({token, target, itemName, itemType, itemChecked, if (!itemExists) return; } + if(debugEnabled) console.log(`${t.actor.name} Reaction validation passed`) return t; }; diff --git a/scripts/macros/counterspell.js b/scripts/macros/counterspell.js index 3c716c04..b6c89517 100644 --- a/scripts/macros/counterspell.js +++ b/scripts/macros/counterspell.js @@ -1,76 +1,18 @@ -export async function counterspell({ workflowData }) { +export async function counterspell({ workflowData,workflowType,workflowCombat }) { const module = await import('../module.js'); const socket = module.socket; + const helpers = await import('../helpers.js'); const workflowUuid = workflowData; const workflow = await MidiQOL.Workflow.getWorkflow(`${workflowUuid}`); + let itemName = "counterspell"; + let itemProperName = "Counterspell"; + let dialogId = "counterspell"; if(!workflow) return; - if(workflow.item.type !== "spell" || workflow.item.name.toLowerCase().includes("counterspell")) return; + if(workflow.item.type !== "spell" || workflow.item.name === itemProperName) return; const lastMessage = game.messages.contents[game.messages.contents.length - 1]; // Use to hide initial spell message if (!game.combat) return; - function findCounterspellTokens(token, dispositionCheck) { - let validTokens = game.combat.combatants.map(combatant => canvas.tokens.get(combatant.tokenId)).filter(t => { - // Check if invalid token on the canvas - if (!t.actor) return; - - // Check if the token has counterspell available - let checkSpells = t.actor.items.filter(i => i.name.toLowerCase().includes("counterspell")); - let checkSpell = checkSpells.find(spell => spell?.system?.preparation?.mode); - if(!checkSpell) return; - - // Check if the tokens reaction already used - if (t.actor.effects.find(i => i.name.toLowerCase() === "reaction")) return; - - // Check if the token is the initiating token or is not an opposite token disposition - if (dispositionCheck(t, token)) return; - - // Check if token can see initiating token that cast spell - if(!MidiQOL.canSee(t, token)) return; - - // Check if token is within 60 feet - let measuredDistance = MidiQOL.computeDistance(token,t,true); - let range = game.gps.convertFromFeet({range: 60}); - if (measuredDistance === -1 || (measuredDistance > range)) return; - - // Check if the token has available spell slots/uses for counterspell - const spells = t.actor.system.spells; - - let checkType = checkSpell?.system?.preparation?.mode; - let hasSpellSlots = false; - if(checkType === "prepared" && checkSpell.system.preparation.prepared === false) return; - if(checkType === "prepared" || checkType === "always") - { - for (let level = 3; level <= 9; level++) { - let spellSlot = t.actor.system.spells[`spell${level}`].value; - if (spellSlot > 0) { - hasSpellSlots = true; - break; - } - } - } - else if(checkType === "pact") - { - let spellSlotValue = spells.pact.value; - if (spellSlotValue > 0) hasSpellSlots = true; - } - else if(checkType === "innate" || checkType === "atwill") - { - let slotValue = checkSpell.system.uses.value; - let slotEnabled = checkSpell.system.uses.per; - if (slotValue > 0 || slotEnabled === null) hasSpellSlots = true; - } - - if (!hasSpellSlots) { - return; - } - - return t; - }); - - return validTokens; - } - let selectedToken = workflow.token; let castLevel = false; let browserUser; @@ -78,19 +20,18 @@ export async function counterspell({ workflowData }) { await initialCounterspellProcess(workflow, lastMessage, castLevel, selectedToken); async function initialCounterspellProcess(workflow, lastMessage, castLevel, selectedToken) { - let findCounterspellTokensPrimary = findCounterspellTokens(selectedToken, (checkedToken, initiatingToken) => { - return checkedToken.id === initiatingToken.id || checkedToken.document.disposition === initiatingToken.document.disposition; - }); - if(findCounterspellTokensPrimary.length === 0 || !findCounterspellTokensPrimary) return; + let findValidTokens = helpers.findValidTokens({initiatingToken: selectedToken, targetedToken: null, itemName: itemName, itemType: "spell", itemChecked: null, reactionCheck: true, sightCheck: true, rangeCheck: true, rangeTotal: 60, dispositionCheck: true, dispositionCheckType: "enemy", workflowType: workflowType, workflowCombat: workflowCombat}); + + if(findValidTokens.length === 0 || !findValidTokens) return; - for (const validTokenPrimary of findCounterspellTokensPrimary) { + for (const validTokenPrimary of findValidTokens) { if(lastMessage && validTokenPrimary.actor.type === "character") lastMessage.update({ whisper: [game.users.find((u) => u.isGM && u.active).id] }); let workflowStatus = workflow.aborted; if(workflowStatus === true) return; let actorUuidPrimary = validTokenPrimary.actor.uuid; - const dialogTitlePrimary = `${validTokenPrimary.actor.name} | Counterspell`; - const dialogTitleGM = `Waiting for ${validTokenPrimary.actor.name}'s selection | Counterspell`; + const dialogTitlePrimary = `${validTokenPrimary.actor.name} | ${itemProperName}`; + const dialogTitleGM = `Waiting for ${validTokenPrimary.actor.name}'s selection | ${itemProperName}`; castLevel = !castLevel ? workflow.castData.castLevel : castLevel; let originTokenUuidPrimary = workflow.token.document.uuid; browserUser = MidiQOL.playerForActor(validTokenPrimary.actor); @@ -98,10 +39,10 @@ export async function counterspell({ workflowData }) { browserUser = game.users?.activeGM; } - const currentIndex = findCounterspellTokensPrimary.indexOf(validTokenPrimary); - const isLastToken = currentIndex === findCounterspellTokensPrimary.length - 1; + const currentIndex = findValidTokens.indexOf(validTokenPrimary); + const isLastToken = currentIndex === findValidTokens.length - 1; - let content = ` ${validTokenPrimary.actor.name} has a reaction available for a spell triggering Counterspell.` + let content = ` ${validTokenPrimary.actor.name} has a reaction available for a spell triggering ${itemProperName}.` let chatData = { user: game.users.find(u => u.isGM).id, content: content, @@ -112,31 +53,32 @@ export async function counterspell({ workflowData }) { let result; if (MidiQOL.safeGetGameSetting('gambits-premades', 'Mirror 3rd Party Dialog for GMs') && browserUser.id !== game.users?.activeGM.id) { - let userDialogPromise = socket.executeAsUser("showCounterspellDialog", browserUser.id, originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, castLevel, dialogTitlePrimary, `counterspell_${browserUser.id}`, 'user').then(res => ({...res, source: "user", type: "multiDialog"})); - let gmDialogPromise = socket.executeAsGM("showCounterspellDialog", originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, castLevel, dialogTitleGM, `counterspell_${game.users?.activeGM.id}`, 'gm').then(res => ({...res, source: "gm", type: "multiDialog"})); + let userDialogPromise = socket.executeAsUser("showCounterspellDialog", browserUser.id, {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, castLevel: castLevel, dialogTitle: dialogTitlePrimary, dialogId: `${dialogId}_${browserUser.id}`, itemProperName: itemProperName}).then(res => ({...res, source: "user", type: "multiDialog"})); + + let gmDialogPromise = socket.executeAsGM("showCounterspellDialog", {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, castLevel: castLevel, dialogTitle: dialogTitleGM, dialogId: `${dialogId}_${game.users?.activeGM.id}`, itemProperName: itemProperName}).then(res => ({...res, source: "gm", type: "multiDialog"})); result = await socket.executeAsGM("handleDialogPromises", userDialogPromise, gmDialogPromise); } else { - result = await socket.executeAsUser("showCounterspellDialog", browserUser.id, originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, castLevel, dialogTitlePrimary).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); + result = await socket.executeAsUser("showCounterspellDialog", browserUser.id, {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, castLevel: castLevel, dialogTitle: dialogTitlePrimary, itemProperName: itemProperName}).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); } - let { counterspellSuccess, counterspellLevel, source, type } = result; + let { userDecision, counterspellLevel, source, type } = result; - if (!counterspellSuccess) { - if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `counterspell_${game.users?.activeGM.id}` }); - if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `counterspell_${browserUser.id}` }); + if (!userDecision) { + if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); if(lastMessage && validTokenPrimary.actor.type === "character") lastMessage.update({ whisper: [] }); await socket.executeAsGM("deleteChatMessage", { chatId: notificationMessage._id }); continue; } - else if (!counterspellSuccess && isLastToken) { - if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `counterspell_${game.users?.activeGM.id}` }); - if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `counterspell_${browserUser.id}` }); + else if (!userDecision && isLastToken) { + if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); if(lastMessage && validTokenPrimary.actor.type === "character") lastMessage.update({ whisper: [] }); await socket.executeAsGM("deleteChatMessage", { chatId: notificationMessageSecondary._id }); return workflow.aborted = false; } - else if (counterspellSuccess === true) { + else if (userDecision === true) { if(lastMessage && validTokenPrimary.actor.type === "character") lastMessage.update({ whisper: [] }); await socket.executeAsGM("deleteChatMessage", { chatId: notificationMessage._id }); castLevel = counterspellLevel; @@ -147,26 +89,25 @@ export async function counterspell({ workflowData }) { } async function secondaryCounterspellProcess(workflow, lastMessage, castLevel, validTokenPrimary) { - let findCounterspellTokensSecondary = findCounterspellTokens(validTokenPrimary, (checkedToken, initiatingToken) => { - return checkedToken.document.disposition === initiatingToken.document.disposition; - }); - if(findCounterspellTokensSecondary.length === 0 || !findCounterspellTokensSecondary) return workflow.aborted = true; + let findValidTokens = helpers.findValidTokens({initiatingToken: validTokenPrimary, targetedToken: null, itemName: itemName, itemType: "spell", itemChecked: null, reactionCheck: true, sightCheck: true, rangeCheck: true, rangeTotal: 60, dispositionCheck: true, dispositionCheckType: "enemy", workflowType: workflowType, workflowCombat: workflowCombat}); + + if(findValidTokens.length === 0 || !findValidTokens) return workflow.aborted = true; - for (const validTokenSecondary of findCounterspellTokensSecondary) { + for (const validTokenSecondary of findValidTokens) { let actorUuidSecondary = validTokenSecondary.actor.uuid; - const dialogTitleSecondary = `${validTokenSecondary.actor.name} | Counterspell`; - const dialogTitleGMSecondary = `Waiting for ${validTokenSecondary.actor.name}'s selection | Counterspell`; + const dialogTitleSecondary = `${validTokenSecondary.actor.name} | ${itemProperName}`; + const dialogTitleGMSecondary = `Waiting for ${validTokenSecondary.actor.name}'s selection | ${itemProperName}`; let originTokenUuidSecondary = validTokenPrimary.document.uuid; - const currentIndex = findCounterspellTokensSecondary.indexOf(validTokenSecondary); - const isLastToken = currentIndex === findCounterspellTokensSecondary.length - 1; + const currentIndex = findValidTokens.indexOf(validTokenSecondary); + const isLastToken = currentIndex === findValidTokens.length - 1; browserUser = MidiQOL.playerForActor(validTokenSecondary.actor); if (!browserUser.active) { browserUser = game.users?.activeGM; } - let contentSecondary = ` ${validTokenSecondary.actor.name} has a reaction available for a spell triggering Counterspell.` + let contentSecondary = ` ${validTokenSecondary.actor.name} has a reaction available for a spell triggering ${itemProperName}.` let chatData = { user: game.users.find(u => u.isGM).id, content: contentSecondary, @@ -177,33 +118,34 @@ export async function counterspell({ workflowData }) { let result; if (MidiQOL.safeGetGameSetting('gambits-premades', 'Mirror 3rd Party Dialog for GMs') && browserUser.id !== game.users?.activeGM.id) { - let userDialogPromise = socket.executeAsUser("showCounterspellDialog", browserUser.id, originTokenUuidSecondary, actorUuidSecondary, validTokenSecondary.document.uuid, castLevel, dialogTitleSecondary, `counterspell_${browserUser.id}`, 'user').then(res => ({...res, source: "user", type: "multiDialog"})); - let gmDialogPromise = socket.executeAsGM("showCounterspellDialog", originTokenUuidSecondary, actorUuidSecondary, validTokenSecondary.document.uuid, castLevel, dialogTitleGMSecondary, `counterspell_${game.users?.activeGM.id}`, 'gm').then(res => ({...res, source: "gm", type: "multiDialog"})); + let userDialogPromise = socket.executeAsUser("showCounterspellDialog", browserUser.id, {targetUuids: originTokenUuidSecondary, actorUuid: actorUuidSecondary, tokenUuid: validTokenSecondary.document.uuid, castLevel: castLevel, dialogTitle: dialogTitleSecondary, dialogId: `${dialogId}_${browserUser.id}`, itemProperName: itemProperName}).then(res => ({...res, source: "user", type: "multiDialog"})); + + let gmDialogPromise = socket.executeAsGM("showCounterspellDialog", {targetUuids: originTokenUuidSecondary, actorUuid: actorUuidSecondary, tokenUuid: validTokenSecondary.document.uuid, castLevel: castLevel, dialogTitle: dialogTitleGMSecondary, dialogId: `${dialogId}_${game.users?.activeGM.id}`, itemProperName: itemProperName}).then(res => ({...res, source: "gm", type: "multiDialog"})); result = await socket.executeAsGM("handleDialogPromises", userDialogPromise, gmDialogPromise); } else { - result = await socket.executeAsUser("showCounterspellDialog", browserUser.id, originTokenUuidSecondary, actorUuidSecondary, validTokenSecondary.document.uuid, castLevel, dialogTitleSecondary).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); + result = await socket.executeAsUser("showCounterspellDialog", browserUser.id, {targetUuids: originTokenUuidSecondary, actorUuid: actorUuidSecondary, tokenUuid: validTokenSecondary.document.uuid, castLevel: castLevel, dialogTitle: dialogTitleSecondary, itemProperName: itemProperName}).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); } - let { counterspellSuccess, counterspellLevel, source, type } = result; + let { userDecision, counterspellLevel, source, type } = result; - if (counterspellSuccess === true) { + if (userDecision === true) { if(lastMessage && validTokenPrimary.actor.type === "character") lastMessage.update({ whisper: [] }); await socket.executeAsGM("deleteChatMessage", { chatId: notificationMessageSecondary._id }); castLevel = counterspellLevel; await initialCounterspellProcess(workflow, lastMessage, castLevel, validTokenSecondary); break; } - else if (!counterspellSuccess && isLastToken) { - if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `counterspell_${game.users?.activeGM.id}` }); - if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `counterspell_${browserUser.id}` }); + else if (!userDecision && isLastToken) { + if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); if(lastMessage && validTokenPrimary.actor.type === "character") lastMessage.update({ whisper: [] }); await socket.executeAsGM("deleteChatMessage", { chatId: notificationMessageSecondary._id }); return workflow.aborted = true; } - else if (!counterspellSuccess) { - if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `counterspell_${game.users?.activeGM.id}` }); - if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `counterspell_${browserUser.id}` }); + else if (!userDecision) { + if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); if(lastMessage) lastMessage.update({ whisper: [] }); await socket.executeAsGM("deleteChatMessage", { chatId: notificationMessageSecondary._id }); continue; @@ -212,18 +154,18 @@ export async function counterspell({ workflowData }) { } } -export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUuid, castLevel, dialogTitle, dialogId, source) { +export async function showCounterspellDialog({targetUuids, actorUuid, tokenUuid, castLevel, dialogTitle, dialogId, source, type, itemProperName}) { const module = await import('../module.js'); const socket = module.socket; return await new Promise(resolve => { async function wait(ms) { return new Promise(resolve => { setTimeout(resolve, ms); }); }; - const initialTimeLeft = Number(MidiQOL.safeGetGameSetting('gambits-premades', 'Counterspell Timeout')); + const initialTimeLeft = Number(MidiQOL.safeGetGameSetting('gambits-premades', `${itemProperName} Timeout`)); let dialogContent = `

- Would you like to use your reaction to counterspell?

+ Would you like to use your reaction to ${itemProperName}?

Time remaining

@@ -246,13 +188,13 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu dialog.dialogState.decision = "yes"; let actor = await fromUuid(actorUuid); let browserUser = MidiQOL.playerForActor(actor); - if(source && source === "user") await socket.executeAsGM("closeDialogById", { dialogId: `counterspell_${game.users?.activeGM.id}` }); - if(source && source === "gm") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `counterspell_${browserUser.id}` }); + if(source && source === "user") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); let uuid = actor.uuid; let token = await fromUuid(tokenUuid); - let originToken = await fromUuid(originTokenUuid); + let originToken = await fromUuid(targetUuids); - let chosenSpell = actor.items.find(i => i.name.toLowerCase().includes("counterspell")); + let chosenSpell = actor.items.find(i => i.name === itemProperName); chosenSpell.prepareData(); chosenSpell.prepareFinalAttributes(); @@ -266,7 +208,9 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu }; const itemRoll = await MidiQOL.completeItemUse(chosenSpell, {}, options); - let counterspellSuccess = false; + if(itemRoll.aborted === true) return resolve({ userDecision: false, counterspellLevel: false, programmaticallyClosed: false }); + + let userDecision = false; let counterspellLevel = false; let programmaticallyClosed = false; @@ -281,17 +225,17 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu abjurationCheck ? skillCheckTotal = skillCheck.total + actor.system?.attributes?.prof : skillCheckTotal = skillCheck.total; if (skillCheckTotal >= spellThreshold) { chatList = `The creature was counterspelled, you rolled a ${skillCheckTotal} ${skillCheck.options.flavor}. `; - counterspellSuccess = true; + userDecision = true; counterspellLevel = itemRoll.castData.castLevel; } else { chatList = `The creature was not counterspelled, you rolled a ${skillCheckTotal} ${skillCheck.options.flavor} and needed a ${spellThreshold}. `; - counterspellSuccess = false; + userDecision = false; } } else { - chatList = `The creature was counterspelled because you cast counterspell at an equal or higher level. `; - counterspellSuccess = true; + chatList = `The creature was counterspelled because you cast ${itemProperName} at an equal or higher level. `; + userDecision = true; counterspellLevel = itemRoll.castData.castLevel; } @@ -314,7 +258,7 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu content = content.slice(0, insertPosition) + chatList + content.slice(insertPosition); } await chatMessage.update({ content: content }); - resolve({counterspellSuccess, counterspellLevel, programmaticallyClosed}); + resolve({userDecision, counterspellLevel, programmaticallyClosed}); } }, no: { @@ -323,7 +267,7 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu // Reaction Declined dialog.dialogState.interacted = true; dialog.dialogState.decision = "no"; - resolve({ counterspellSuccess: false, counterspellLevel: false, programmaticallyClosed: false }); + resolve({ userDecision: false, counterspellLevel: false, programmaticallyClosed: false }); } }, }, default: "no", @@ -333,8 +277,15 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu let isPaused = false; const countdownElement = html.find("#countdown"); const pauseButton = html.find("#pauseButton"); - - const timer = setInterval(() => { + + dialog.updateTimer = (newTimeLeft, paused) => { + timeLeft = newTimeLeft; + isPaused = paused; + countdownElement.text(`${timeLeft}`); + pauseButton.text(isPaused ? 'Paused' : 'Pause'); + }; + + timer = setInterval(() => { if (!isPaused) { timeLeft--; countdownElement.text(`${timeLeft}`); @@ -344,27 +295,28 @@ export async function showCounterspellDialog(originTokenUuid, actorUuid, tokenUu } } }, 1000); - + pauseButton.click(() => { isPaused = !isPaused; pauseButton.text(isPaused ? 'Paused' : 'Pause'); + if (source && source === "user" && type === "multiDialog") { + socket.executeAsGM("pauseDialogById", { dialogId, timeLeft, isPaused }); + } else if (source && source === "gm" && type === "multiDialog") { + socket.executeAsUser("pauseDialogById", browserUser.id, { dialogId, timeLeft, isPaused }); + } }); }, close: () => { clearInterval(timer); if (dialog.dialogState.programmaticallyClosed) { - resolve({counterspellSuccess: false, counterspellLevel: null, programmaticallyClosed: true}); + resolve({ userDecision: false, programmaticallyClosed: true }); } else if (!dialog.dialogState.interacted) { - resolve({ counterspellSuccess: false, counterspellLevel: null, programmaticallyClosed: false }); + resolve({ userDecision: false, programmaticallyClosed: false }); } } }); - dialog.dialogState = { - interacted: false, - decision: null, - programmaticallyClosed: false - }; + dialog.dialogState = { interacted: false, decision: null, programmaticallyClosed: false }; dialog.render(true); - }) + }); } \ No newline at end of file diff --git a/scripts/macros/cuttingWords.js b/scripts/macros/cuttingWords.js index 8ed23118..1e393e11 100644 --- a/scripts/macros/cuttingWords.js +++ b/scripts/macros/cuttingWords.js @@ -1,73 +1,32 @@ -export async function cuttingWords({workflowData,workflowType}) { +export async function cuttingWords({workflowData,workflowType,workflowCombat}) { const module = await import('../module.js'); const socket = module.socket; + const helpers = await import('../helpers.js'); const workflowUuid = workflowData; const workflow = await MidiQOL.Workflow.getWorkflow(workflowUuid); + let itemName = "cutting words"; + let itemProperName = "Cutting Words"; + let dialogId = "cuttingwords"; if(!workflow) return; - if(workflow.item.name.toLowerCase() === "cutting words") return; + if(workflow.item.name === itemProperName) return; if (!game.combat) return; // Check if Opportunity Attack is initiating the workflow if(workflow.item.name === "Opportunity Attack") return; - function findCuttingWordsTokens(token, dispositionCheck) { - let validTokens = game.combat.combatants.map(combatant => canvas.tokens.get(combatant.tokenId)).filter(t => { - // Check if invalid token on the canvas - if (!t.actor) return; - - // Check if the token has cutting words available - if (!t.actor.items.find(i => i.name.toLowerCase() === "cutting words")) return; - - // Check if the tokens reaction already used - let reactionUsed = t.actor.effects.find(i => i.name.toLowerCase() === "reaction"); - if (reactionUsed) return; - - // Check if the token is the initiating token or is not an opposite token disposition - if (workflowType === "attack" || workflowType === "damage") { - if (dispositionCheck(t, token)) return; - } - - let midiSightTest = MidiQOL.canSee(t, token); - - if (midiSightTest === false) return; - - // Check if token is within 60 feet - let measuredDistance = MidiQOL.computeDistance(token,t,true); - let range = game.gps.convertFromFeet({range: 60}); - if (measuredDistance === -1 || (measuredDistance > range)) return; + let findValidTokens; - // Check if the token has available uses of Bardic Inspiration for Cutting Words - const itemNames = ["bardic inspiration"]; - - let resourceExistsWithValue = [t.actor.system.resources.primary, t.actor.system.resources.secondary, t.actor.system.resources.tertiary].some(resource => - itemNames.includes(resource?.label.toLowerCase()) && resource.value !== 0); - let itemExistsWithValue; - - if (!resourceExistsWithValue) { - itemExistsWithValue = !!t.actor.items.find(i => itemNames.includes(i.name.toLowerCase()) && i.system.uses.value !== 0); - } - - if (!resourceExistsWithValue && !itemExistsWithValue) return; - - return t; - }); - - return validTokens; - } - - let findCuttingWords = findCuttingWordsTokens(workflow.token, (checkedToken, initiatingToken) => { - return checkedToken.id === initiatingToken.id || checkedToken.document.disposition === initiatingToken.document.disposition; - }); + findValidTokens = helpers.findValidTokens({initiatingToken: workflow.token, targetedToken: null, itemName: itemName, itemType: "feature", itemChecked: ["bardic inspiration"], reactionCheck: true, sightCheck: true, rangeCheck: true, rangeTotal: 60, dispositionCheck: true, dispositionCheckType: "enemy", workflowType: workflowType, workflowCombat: workflowCombat}); let browserUser; - for (const validTokenPrimary of findCuttingWords) { + for (const validTokenPrimary of findValidTokens) { let actorUuidPrimary = validTokenPrimary.actor.uuid; - const dialogTitlePrimary = `${validTokenPrimary.actor.name} | Cutting Words`; - const dialogTitleGM = `Waiting for ${validTokenPrimary.actor.name}'s selection | Cutting Words`; + const dialogTitlePrimary = `${validTokenPrimary.actor.name} | ${itemProperName}`; + const dialogTitleGM = `Waiting for ${validTokenPrimary.actor.name}'s selection | ${itemProperName}`; let originTokenUuidPrimary = workflow.token.document.uuid; - let spellData = validTokenPrimary.actor.items.find(i => i.name.toLowerCase() === "cutting words"); + let spellData = validTokenPrimary.actor.items.find(i => i.name === itemProperName); let bardicDie = validTokenPrimary.actor.system.scale.bard["bardic-inspiration"].die; browserUser = MidiQOL.playerForActor(validTokenPrimary.actor); if (!browserUser.active) { @@ -82,22 +41,23 @@ export async function cuttingWords({workflowData,workflowType}) { let result; if (MidiQOL.safeGetGameSetting('gambits-premades', 'Mirror 3rd Party Dialog for GMs') && browserUser.id !== game.users?.activeGM.id) { - let userDialogPromise = socket.executeAsUser("showCuttingWordsDialog", browserUser.id, originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, dialogTitlePrimary, originTokenUuidPrimary, "damage", damageTypes, `cuttingwords_${browserUser.id}`, 'user', damageTotals).then(res => ({...res, source: "user", type: "multiDialog"})); - let gmDialogPromise = socket.executeAsGM("showCuttingWordsDialog", originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, dialogTitleGM, originTokenUuidPrimary, "damage", damageTypes, `cuttingwords_${game.users?.activeGM.id}`, 'gm', damageTotals).then(res => ({...res, source: "gm", type: "multiDialog"})); + let userDialogPromise = socket.executeAsUser("showCuttingWordsDialog", browserUser.id, {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, dialogTitle: dialogTitlePrimary, targetNames: originTokenUuidPrimary, outcomeType: "damage", damageTypes: damageTypes, dialogId: `${dialogId}_${browserUser.id}`, rollTotals: damageTotals, itemProperName: itemProperName}).then(res => ({...res, source: "user", type: "multiDialog"})); + + let gmDialogPromise = socket.executeAsGM("showCuttingWordsDialog", {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, dialogTitle: dialogTitleGM, targetNames: originTokenUuidPrimary, outcomeType: "damage", damageTypes: damageTypes, dialogId: `${dialogId}_${game.users?.activeGM.id}`, rollTotals: damageTotals, itemProperName: itemProperName}).then(res => ({...res, source: "gm", type: "multiDialog"})); result = await socket.executeAsGM("handleDialogPromises", userDialogPromise, gmDialogPromise); } else { - result = await socket.executeAsUser("showCuttingWordsDialog", browserUser.id, originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, dialogTitlePrimary, originTokenUuidPrimary, "damage", damageTypes, null, null, damageTotals).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); + result = await socket.executeAsUser("showCuttingWordsDialog", browserUser.id, {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, dialogTitle: dialogTitlePrimary, targetNames: originTokenUuidPrimary, outcomeType: "damage", damageTypes: damageTypes, rollTotals: damageTotals, itemProperName: itemProperName}).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); } - const { cuttingWordsDecision, damageChosen, source, type } = result; + const { userDecision, damageChosen, source, type } = result; - if (cuttingWordsDecision === false || !cuttingWordsDecision) { - if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `cuttingwords_${game.users?.activeGM.id}` }); - if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `cuttingwords_${browserUser.id}` }); + if (userDecision === false || !userDecision) { + if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); continue; } - if (cuttingWordsDecision === true) { + if (userDecision === true) { const saveSetting = workflow.options.noOnUseMacro; workflow.options.noOnUseMacro = true; let reroll; @@ -164,22 +124,23 @@ export async function cuttingWords({workflowData,workflowType}) { let result; if (MidiQOL.safeGetGameSetting('gambits-premades', 'Mirror 3rd Party Dialog for GMs') && browserUser.id !== game.users?.activeGM.id) { - let userDialogPromise = socket.executeAsUser("showCuttingWordsDialog", browserUser.id, originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, dialogTitlePrimary, originTokenUuidPrimary, "attack", null, `cuttingwords_${browserUser.id}`, 'user', workflow.attackTotal).then(res => ({...res, source: "user", type: "multiDialog"})); - let gmDialogPromise = socket.executeAsGM("showCuttingWordsDialog", originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, dialogTitleGM, originTokenUuidPrimary, "attack", null, `cuttingwords_${game.users?.activeGM.id}`, 'gm', workflow.attackTotal).then(res => ({...res, source: "gm", type: "multiDialog"})); + let userDialogPromise = socket.executeAsUser("showCuttingWordsDialog", browserUser.id, {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, dialogTitle: dialogTitlePrimary, targetNames: originTokenUuidPrimary, outcomeType: "attack", dialogId: `${dialogId}_${browserUser.id}`, rollTotals: workflow.attackTotal, itemProperName: itemProperName}).then(res => ({...res, source: "user", type: "multiDialog"})); + + let gmDialogPromise = socket.executeAsGM("showCuttingWordsDialog", {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, dialogTitle: dialogTitleGM, targetNames: originTokenUuidPrimary, outcomeType: "attack", dialogId: `${dialogId}_${game.users?.activeGM.id}`, rollTotals: workflow.attackTotal, itemProperName: itemProperName}).then(res => ({...res, source: "gm", type: "multiDialog"})); result = await socket.executeAsGM("handleDialogPromises", userDialogPromise, gmDialogPromise); } else { - result = await socket.executeAsUser("showCuttingWordsDialog", browserUser.id, originTokenUuidPrimary, actorUuidPrimary, validTokenPrimary.document.uuid, dialogTitlePrimary, originTokenUuidPrimary, "attack", null, null, null, workflow.attackTotal).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); + result = await socket.executeAsUser("showCuttingWordsDialog", browserUser.id, {targetUuids: originTokenUuidPrimary, actorUuid: actorUuidPrimary, tokenUuid: validTokenPrimary.document.uuid, dialogTitle: dialogTitlePrimary, targetNames: originTokenUuidPrimary, outcomeType: "attack", rollTotals: workflow.attackTotal, itemProperName: itemProperName}).then(res => ({...res, source: browserUser.isGM ? "gm" : "user", type: "singleDialog"})); } - const { cuttingWordsDecision, damageChosen, source, type } = result; + const { userDecision, damageChosen, source, type } = result; - if (cuttingWordsDecision === false || !cuttingWordsDecision) { - if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `cuttingwords_${game.users?.activeGM.id}` }); - if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `cuttingwords_${browserUser.id}` }); + if (userDecision === false || !userDecision) { + if(source && source === "user" && type === "multiDialog") await socket.executeAsGM("closeDialogById", { dialogId: `${dialogId}_${game.users?.activeGM.id}` }); + if(source && source === "gm" && type === "multiDialog") await socket.executeAsUser("closeDialogById", browserUser.id, { dialogId: `${dialogId}_${browserUser.id}` }); continue; } - if (cuttingWordsDecision === true) { + if (userDecision === true) { let targetAC = workflow.hitTargets.first().actor.system.attributes.ac.value; const saveSetting = workflow.options.noOnUseMacro; workflow.options.noOnUseMacro = true; @@ -233,12 +194,12 @@ export async function cuttingWords({workflowData,workflowType}) { } } -export async function showCuttingWordsDialog(tokenUuids, actorUuid, tokenUuid, dialogTitle, targetNames, outcomeType, damageTypes, dialogId, source, rollTotals) { +export async function showCuttingWordsDialog({targetUuids, actorUuid, tokenUuid, dialogTitle, targetNames, outcomeType, damageTypes, dialogId, source, type, itemProperName, rollTotals}) { const module = await import('../module.js'); const socket = module.socket; return await new Promise(resolve => { - const initialTimeLeft = Number(MidiQOL.safeGetGameSetting('gambits-premades', 'Cutting Words Timeout')); + const initialTimeLeft = Number(MidiQOL.safeGetGameSetting('gambits-premades', `${itemProperName} Timeout`)); let dialogContent; let originToken = fromUuidSync(tokenUuid); @@ -249,11 +210,12 @@ export async function showCuttingWordsDialog(tokenUuids, actorUuid, tokenUuid, d dialogContent = `
-

${["none", "detailsDSN", "details"].includes(rollDetailSetting) ? `The target rolled a ${rollTotals} to attack. ` : ""}Would you like to use your reaction to use Cutting Words for this ${outcomeType} roll?

+

${["none", "detailsDSN", "details"].includes(rollDetailSetting) ? `The target rolled a ${rollTotals} to attack. ` : ""}Would you like to use your reaction to use ${itemProperName} for this ${outcomeType} roll?

Time Remaining

${initialTimeLeft} seconds

+
`; @@ -263,7 +225,7 @@ export async function showCuttingWordsDialog(tokenUuids, actorUuid, tokenUuid, d dialogContent = `
-

Would you like to use your reaction to use Cutting Words for this ${outcomeType} roll?

+

Would you like to use your reaction to use ${itemProperName} for this ${outcomeType} roll?

@@ -279,6 +241,7 @@ export async function showCuttingWordsDialog(tokenUuids, actorUuid, tokenUuid, d

Time remaining

${initialTimeLeft} seconds

+