Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Seekers of Wisdom #3894

Merged
merged 6 commits into from
Jan 23, 2020
Merged

Seekers of Wisdom #3894

merged 6 commits into from
Jan 23, 2020

Conversation

The-Outcast
Copy link
Collaborator

No description provided.

The-Outcast and others added 6 commits January 18, 2020 20:02
* Update .travis.yml

* aCF - Petal Village Estate (#3605)

* Initial commit

* Fixed the test

* Linter

* Whoops, forgot to rename the test cases from Kuni Lab!

* aCF - By Any Means (#3621)

* aCF - Henshin mysteries (#3586)

* add first draft of card with test

I modified the pilgramage code to work with henshin mysteries currently is
failing the test for when the province is broken. but is stopping the
ring from being claimed otherwise as intented

* added a test to see if the ring effect was working

* fix bug in broken province test
the issue was a copy paste error the card was working as the whole time

* aCF - Asako Takahiro (#3590)

* card implementation and test

wrote the card implementation with 2 static effects. one for mil and
one for pol. then I wrote one test to check each effect was working

* fix bug for him counting himself

I made it to where he filters himself out when modifying his skill and add a
test to make sure it is working

* changing to use .getNumberOfParticipants

* used `getNumberOfParticipants`

instead of filtering the cards in play for each player instead just call
getNumberOfParticipants on the game object to make it a lot less LOC

* aCF - Fan of Command (#3614)

* aCF - Palace Guard (#3607)

* Templates based on other cards

* Palace guard implementation & test cases

* aCF - Strategic Weakpoint (#3608)

* acf - Quarrelsome Youth (#3612)

* Implementation and tests for quarrelsome youth

* Added test for equal cards

* aCF - Outflank (#3613)

* Initial test suite for Outflank.

* Failing test - able to select the same defender twice with two copies.

* Linting

* Updated outflank based on discussions.
Added test for border fortress.

* aCF - Smugglers cove (#3584)

* wrote the card and a test for the targetting

* added test for movement and switched to a conditional game actions to get it to work

* aCF - Unified company (#3588)

* first draft of card implementation

wrote out the logic for the reaction on the card and created an
empty file for the tests

* added tests

added four test: one to show targetting is working, one for showing triggering if
conditions are met, one for cards in hand and one show the character is brought
into play

* using selectCard

the card doesnt target does so the selectCard action is now being
used instead

* add test for less cards in hand

* add folder structure

* aCF - Deduction (#3625)

* Added Deduction, plus a change to the returnRings cost in costs.js to support the card

* Updated the test case

* DoR - Hida O-Ushi (#3690)

* Initial commit

* Added tests for Hida O-Ushi

* Added way of the dragon for the max 1 per round test

* Removed the dummy files for DoR.

* Merge develop into DoR (#3715)

* Bug fix for Suppress effects

* Update fiveringsdb-data

* DoR - Moto Eviscerator (#3712)

* DoR - Reinforced Plate (#3711)

* DoR - Matsu Agetoki (#3705)

* Base implementation and tests

* Fixed Matsu Agetoki tests

* DoR - Purifier Apprentice (#3704)

* Initial tests and implementation for Purifier Apprentice

* Fixed the tests

* Linting fix

* DoR - Shinjo Yasamura (#3703)

* Initial tests & implementation

* Updated the tests

* DoR - Seventh Tower (#3702)

* Implementation and tets for Seventh Tower (not working, needs a json update)

* Fixed the test case

* Linting issue

* DoR - Subterranean Guile (#3692)

* Tests and implementation for Subterranean Guile

* Replaced .forEach some .some for checking unbroken provinces

* DoR - Siege Warfare (#3691)

* DoR - River of the Last Stand (#3689)

* DoR - Fruitful Respite (#3713)

* Implementation and tests for Fruitful Respite

* Updated reaction title

* DoR - Watchtower of Valor (#3687)

* Tests and implementation for watchtower of valor

* Added a test for losing a conflict

* Added the unlimited clause

* Added test for multiple activations

* DoR - Slovenly Scavenger (#3721)

* Tests and implementation for Slovenly Scavenger

* Linting cleanup

* DoR - Kansen Haunt (#3722)

* Tests and implementation for Kansen Haunt

* Added test for negative strength modifier

* aCF - Frontline Engineer (#3627)

* Not working at all!

* Implementation and tests for frontline engineer

* Linter cleanup

* Updated to getDynastyCardsInProvince() and added tests for Back Alley Hideaway

* Linting cleanup

* Updated after having done other cards

* Updated the unified company test to hopefully pass on the server (passes locally) (#3718)

* Merge develop into dor (#3733)

* Fix #3592: SYH does not cancel Hitomi duel

* Added test for undefined (dash in mongodb) skill removing characters from combat

* Bug fix for Suppress effects

* Update fiveringsdb-data

* Bug fix for Total Warfare & Let Go. (#3709)

* Bugfix for Chasing the Sun (so you can no longer move the conflict to your own provinces) (#3701)

* Updated the deck validator for new roles (#3700)

The roles have been freed as decreed during the winter court of 2019.

* fix Shrewd Yasuki Null Reference crash (#3685)

* Fix Omoidasu trigger condition (#3719)

* Fix Omoidasu trigger condition

It didn't check who was dishonored, only  by who.

* Fix lint errors

* Rework ResolveAbilityAction (#3706)

* Implement play costs

* Add trigger costs

* Rework ResolveAbilityAction

* Test and bugfixes

* Bug fix for prepare for war (& test updates) (#3732)

Closes #3716.

* Bug fix for incorrect text on Isawa Heiko (#3479)

* Bug fix for incorrect text on Isawa Heiko

* finished this bugfix

for the card implementation I change the condition that it need to be
in a conflict. and then I add one test to check this works and I also
had to change the test that stops you from choosing partiicipating
characters

* Merge develop into acf (#3734)

* Fix #3592: SYH does not cancel Hitomi duel

* Added test for undefined (dash in mongodb) skill removing characters from combat

* Bug fix for Suppress effects

* Update fiveringsdb-data

* Bug fix for Total Warfare & Let Go. (#3709)

* Bugfix for Chasing the Sun (so you can no longer move the conflict to your own provinces) (#3701)

* Updated the deck validator for new roles (#3700)

The roles have been freed as decreed during the winter court of 2019.

* fix Shrewd Yasuki Null Reference crash (#3685)

* Fix Omoidasu trigger condition (#3719)

* Fix Omoidasu trigger condition

It didn't check who was dishonored, only  by who.

* Fix lint errors

* Rework ResolveAbilityAction (#3706)

* Implement play costs

* Add trigger costs

* Rework ResolveAbilityAction

* Test and bugfixes

* Bug fix for prepare for war (& test updates) (#3732)

Closes #3716.

* Bug fix for incorrect text on Isawa Heiko (#3479)

* Bug fix for incorrect text on Isawa Heiko

* finished this bugfix

for the card implementation I change the condition that it need to be
in a conflict. and then I add one test to check this works and I also
had to change the test that stops you from choosing partiicipating
characters

* This fixes a gamenode crash during the regroup stage if you don't have an opponent

Introduced in PR #3709

* Linting cleanup

* aCF - Shukujo (#3604)

* Base implementation for Shukujo.

* Added shukujo tests

* Updated the tests for Shukujo

* Linting fixes

* Updated to use the new attachmentConditions block

* Added an appropriate chat message

* aCF - Army of the Rising Wave (#3616)

* Tests and implementation for army of the rising wave

* Updated the gameaction to use context instead of this.game

* Linting cleanup

* aCF - Erudite Prestige (#3683)

* Tests and implementation for erudite prestige

* Added text output to the tests

* aCF - Daidoji Kageyu (#3728)

* aCF - Keeper of Secret Names (#3738)

* aCF - Shiro kitsuki (#3597)

* how I think the card implementation should work

the implementation prompt the user for a card and then the card will create a lasting effect
for the conflict which creates a delayed effect that will trigger if the card is played

* forgot to change some copy paste code from gossip

* wrote three basic test to show the card working

frist test show the card triggering a the start of a conflict
the second checks the player gets the name card prompt
the last shows that the player gets to claim the ring if the card is played

* more debugging

* more debugging

* got the card working so far

thanks to jadiel help on discord I got this version of the card working but
there a some issue still.
* need to use `claimRing` instead of `takeRing`
* naming the card should be part of the cost
* figure out a way to make the claimed ring political

* refactoring for cost to be naming the card

trying to get the cost to be naming the card but it appears that the game is
getting stuck on the name card prompt. still needs more debugging

* changed the promptmenu to pass down context

basically added in jadiels update to see if this would help
with having naming the card be part of the cost but it
still needs some work on that front

* got the naming of the card to be the cost

cost field on the reaction has be updated to reflect the
cards text better

still need to claim the ring instead of take it and make it
political

* card claims the ring now

created a new gameaction that will to claim the ring instead of take it
it also takes in the type of the ring. which solves two the issues for the
card;

* added a test for claim ring

it is currently failing the server is logging the following error message
```
2019-11-08T02:02:43.140Z - error:  message=Cannot read property conflictRing of undefined, stack=TypeError: Cannot read property conflictRing of undefined
    at onClaimRing (/home/mattg/projects/ringteki/build/server/game/gamesteps/triggeredabilitywindowtitles.js:6:54)
    at _.filter._.map.event (/home/mattg/projects/ringteki/build/server/game/gamesteps/triggeredabilitywindowtitles.js:46:24)
    at Function._.map._.collect (/home/mattg/projects/ringteki/node_modules/underscore/underscore.js:205:24)
    at Object.getTitle (/home/mattg/projects/ringteki/build/server/game/gamesteps/triggeredabilitywindowtitles.js:43:33)
    at TriggeredAbilityWindow.getPromptProperties (/home/mattg/projects/ringteki/build/server/game/gamesteps/forcedtriggeredabilitywindow.js:66:61)
    at TriggeredAbilityWindow.getPromptForSelectProperties (/home/mattg/projects/ringteki/build/server/game/gamesteps/forcedtriggeredabilitywindow.js:60:64)
    at TriggeredAbilityWindow.getPromptForSelectProperties (/home/mattg/projects/ringteki/build/server/game/gamesteps/triggeredabilitywindow.js:82:31)
    at TriggeredAbilityWindow.promptBetweenSources (/home/mattg/projects/ringteki/build/server/game/gamesteps/forcedtriggeredabilitywindow.js:51:69)
    at TriggeredAbilityWindow.filterChoices (/home/mattg/projects/ringteki/build/server/game/gamesteps/triggeredabilitywindow.js:73:14)
    at TriggeredAbilityWindow.filterChoices (/home/mattg/projects/ringteki/build/server/game/gamesteps/triggeredabilitywindow.js:69:25)
    at TriggeredAbilityWindow.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/forcedtriggeredabilitywindow.js:21:18)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at EventWindow.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at InitiateAbilityEventWindow.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at AbilityResolver.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at ConflictFlow.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at EventWindow.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at EventWindow.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at ConflictPhase.continue (/home/mattg/projects/ringteki/build/server/game/gamesteps/basestepwithpipeline.js:28:42)
    at GamePipeline.continue (/home/mattg/projects/ringteki/build/server/game/gamepipeline.js:88:37)
    at Game.continue (/home/mattg/projects/ringteki/build/server/game/game.js:974:31)
    at runAndCatchErrors (/home/mattg/projects/ringteki/build/server/gamenode/gameserver.js:279:26)
    at GameServer.runAndCatchErrors (/home/mattg/projects/ringteki/build/server/gamenode/gameserver.js:106:13)
    at GameServer.onGameMessage (/home/mattg/projects/ringteki/build/server/gamenode/gameserver.js:276:14)
    at Socket.onSocketEvent (/home/mattg/projects/ringteki/build/server/socket.js:40:13)
    at emitTwo (events.js:126:13)
    at Socket.emit (events.js:214:7)
    at /home/mattg/projects/ringteki/node_modules/socket.io/lib/socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
```

* add a test that the ring type was changed

this is working correctly claim ring action is changing it
to the correct type of political

* small linting fix

* OnClaimRing no longer assumes presence of conflict. Updated reaction abilities accordingly.

* Fix test failures and log message

* DoR - Daidoji Netsu (#3736)

* Unit tests are written

* Added sacrifice to the cannot, more tests are passing

* Added isKeywordAbility, added an ability to restrict keyword abilities and to restrict non-keyword abilities.

Netsu working.
npm run test working.

* Oops, relic of a bad idea

* DoR - Desolation (#3723)

* Tests and implementation for Desolation

* Added a check to ensure you have an opponent

* Added a test to make sure it doesn't blank your own provinces

* DoR - Shadowlands Hunter (#3739)

* DoR - Yogo Asami (#3730)

* Tests and implementation for Yogo Asami

* Removed the location check.  Need to add Ujina tests.

* Added a restriction for abilities triggered by opponents rather than opponent's triggered abilities.

Added the Ujina test, made sure it passed.

* Linting cleanup

* DoR - Kyuden Hida (#3686)

* Tests and implementation for Kyuden Hida

* Made Kyuden Hida do what it says it will.

Working, but feels bad if you cancel & burn the trigger.  Going to do a bit of investigation on UX to see if I can make it work better

* UX is still not great, but it's consistent with Kyuden Isawa.

Also actually works properly now instead of discarding 5 cards if you take nothing.

* DoR - Northern Curtain Wall (#3688)

* Northern Curtain Wall - Base Implementation modifying province strength (this is incorrect).

* Updated the effects engine to include the ability to modify province strength bonus, and updated northern curtain wall with the new effect

* Fixed the modifier so set should actually work now

* DoR - Isawa Eju (#3725)

* DoR - Unyielding Sensei (#3740)

* DoR - Hida Sukune (#3724)

* aCF - Keeper of Secret Names updated tests to add test for blanked province (#3742)

* DoR - Kaiu Forges (#3731)

* DoR - The Strength of the Mountain (#3743)

* DoR - Kaiu Siege Force (#3726)

* DoR - Third Whisker Warrens (#3735)

* Works, provided I cheat the player effect.  Need to create an effect that targets the player I think

* Updated it a little bit

* Initial implementation & tests

Needs some UI work

* Linting

* Added a holding test

* Added a check for undefined cardname. Covers not known cards and cards you as player shouldn't see.

* Added a comment to the test

* DoR - Agasha Hiyori (#3727)

* DoR - Favorable Dealbroker (#3729)

* DoR - Kuni Wastelands (#3741)

* Unit tests are written

* Added sacrifice to the cannot, more tests are passing

* Added isKeywordAbility, added an ability to restrict keyword abilities and to restrict non-keyword abilities.

Netsu working.
npm run test working.

* Oops, relic of a bad idea

* Initial commit.  UX is a bit of a mess when choosing covert, but going to try to update that.

* Oops, this was included in a merge

* Update 5ringsdb data

* Tests and implementation for Moto Outrider

* SD - Bayushi Shoju (#3767)

* Tests and implementation for Bayushi Shoju

* Linting update

* DoR - Kaiu Shihobu (Using new Child Cards) (#3768)

* Getting somewhere

* Working, but with removed from game

* Fixed the messages a bit

* Basic implementation for Kaiu Shihobu, along with tests, using the Removed from Game zone.

* Added a test case

* Updated the dynasty deck search action

* Passes tests with a fixed location of "UnderStronghold".

Will explore having a generic location, since it should work.

* Consolidating the deck search action.

* UI implementation for SHihobu (cards underneath stronghold)

* Updated the menu prompt title

* Linting updates

* SD - Persuasive Counselor (#3771)

* SD - Student of Esoterica (#3769)

* Need to update the exclusion criteria for alternate fate pools, since it has a clause that it stops working if you can't spend fate from rings

* Working

* Added highlighting the current card incase you have multiple students out

* Had to remove the reference to ring.js for some reason

* Implementation and tests for Chrysanthemum Steward

* SD - Gallant Quartermaster (#3778)

* ACF - Current of the Beryt (#3776)

Also added support for action opportunity durations

* SD - Cloak of Night (#3779)

* SD - Daidoji Harrier (#3782)

* Tests and implementation for Daidoji Harrier

* Added a test for having <2 cards

* ACF - Withstand the Darkness Take 2 (#3745)

* Base case working without Banzai... going to explore Banzai a bit to try it

* Linting cleanup

* Added a couple new tests.  Now to look at Banzai

* Working with Banzai

* Added Banzai cancel tests, fixed some issues that came up

* SD - Golden Plains Raider (#3783)

* SD - Hero of Three Trees (#3784)

* SD - Hitsu-Do Disciple #3785

* SD - In Service to My Lord (#3786)

* SD - Mantra of Air (#3787)

* SD - Yasuki Hatsu (#3789)

* SD - Togashi Ichi (#3790)

* Tests and implementation for Togashi Ichi

* Updated test

* SD - Castigated (#3793)

* Nowhere yet

* Play restrictions working, now to test the text

* Tests and implementation for Castigated

* SD - Kakita's Final Stance (#3791)

* Initial commit (test file is entirely wrong)

* Not working yet

* Oops, duel participants can be arrays

* Done

* Added a final test case

* SD - Root Out Heresy (#3792)

* Tests and implementation for Root Out Heresy.

Added the ability for the discard actions to store the cards that have been discarded.

* Forgot to update the test names

* SD - Inferno Guard Invoker (#3774)

* tests and implementation for Inferno Guard Invoker

* Fix lint errors

* - Rework implementation
- Add tests for multiple delayed effects and province breaking by other means

* Fix lint error

* Bugfixes for Into the Forbidden City and Ardent Omoidasu (#3795)

* Kuni Wasteland fixes (#3797)

* The Perfect Gift doesn't shuffle the conflict deck (#3744)

* Update 5ringsdb data

* Make sure The Perfect Gift shuffles the conflict deck

* Shiro Kitsuki fails to check all other cards played after the first (#3798)

* Shiro Kitsuki didn't define it's delayed ability as multiple trigger, causing it to miss cards if they came later in the conflict

* update tests

* Use the context of the lasting effect instead of the Shiro Kitsuki object

* Keeper of Secret Names couldn't trigger if the province was already triggered (#3799)

* Added a "Take nothing" prompt. (#3800)

* Added null checks to Seventh Tower (#3829)

* Kyuden Ikoma could incorrectly target attachments. (#3844)

* Add Void Fist test (#3848)

Check if cancelled cards correctly count towards cards played

* Manual actions and RFG drag/drop (#3853)

* Add a manual action to discard the imperial favor

* - Add another manual action for moving cards to the bottom.
- Fix drag/drop with removed from game pile functionality

* Fix linting errors

* RRG v12 banned/restricted list updates (#3851)

* RRG v12 banned/restricted list updates

* Update RestrictedList.js

* Update BannedList.js

* Fix Regal Bearing message (#3859)

* Fix Regal Bearing message

It used the number of the dials before they would be changed by Regal Bearing

* Fix code style

* FAQ v12 card errata (#3852)

* FAQ v12 card errata

* Change then: to use sequential

* Update BayushiKachiko.js

* Cleaned up test cases, fixed some bugs in implementation.

Not sure why you changed Prepare for War.  It doesn't use "then".

* Fix prepare for war test with new "then"

Co-authored-by: Tom Nys <50174301+The-Outcast@users.noreply.github.com>

* Fix tests around AtW

* Ring resolving rules updated (#3865)

- All effects that let you resolve a ring now automatically include "as the attacker"

* Fix the max 1 per conflict clause on Regal Bearing (#3866)

* Fix the max 1 per conflict clause on Regal Bearing

* Fix missing semi

* Change duels in accordance with v12 RRG (#3868)

* Change duels in accordance with v12 RRG

* lint fix

* Remove Regroup Phase (#3870)

* Remove regroup phase

* Update tests & fixed the fate phase ordering

* Fixing curse tests

* Moved the "end of round" outside of the fate phase and into the game steps.

Fixed tests for Curse & Starry Heaven

Co-authored-by: jeremylarner <31585532+jeremylarner@users.noreply.github.com>

* Apply new RRG changes around discard pile order (#3867)

* Apply new RRG changes around discard pile order

Has functional impact on plagerist

* Fix to target only events

* Bad workaround for shitty card and even shittier design decision

* Fixed Kageyu's ability title (#3872)

* Add FFG official Favor images

* Use new *-favor.jpg files instead of old scanned pngs

* Add Cancel Prompt button to HandlerMenuPrompt (#3883)

* Tactical Ingenuity bugfix (#3882)

* Update FeastOrFamine.js (#3879)

Updated Feast or Famine chatbox text (Fixed)

* Kyuden Isawa bugfix (#3885)

* Updated Maeko test (#3888)

* Fatephase test improvements (#3889)

* Updated Maeko test

* Hopefully improving stability in the fate phase tests

Co-authored-by: jeremylarner <31585532+jeremylarner@users.noreply.github.com>
Co-authored-by: Marc Soiferman <55703483+marcsoiferman-cm@users.noreply.github.com>
Co-authored-by: Matthew-Griffith <matthew-griffith@protonmail.com>
Co-authored-by: Gryffon <gryffon@users.noreply.github.com>
Co-authored-by: Travis McDaniel <Travis959200@gmail.com>
* Tests and implementation for Iuchi Rimei.

* Added restriction that Rimei can only target attachments on characters
* Tests and implementation for High House of Light

* Needs #3843

* Fixed an issue with the conditional "then"

* Fix for high house of light, pending a bigger update of stone of sorrows & moving fate business

* Make sure you can't take fate from rings when the relevant effect is up. Removed check from HHoL

Co-authored-by: Tom Nys <50174301+The-Outcast@users.noreply.github.com>
* Try 1

* Not working with extra fate pools

* Getting there

* Updated.  Going to try something different quickly

* New logic seems to be working.  Now to make sure the cost actually gets paid

* Need to limit it to events now

* It applies only to events but I think that's currently by accident

* It's an abomination but it seems to be working

* Doesn't work if you try to pay costs first

* Committing but it's a mess

* Not working

* Monastery Protector is working, a bunch of other tests are not

* Undoing some of the mess

* Fixing more things

* Cleanup

* Added some final test cases, got another failure.

* Final cleanup, tests all passing

* Linting cleanup

* Updated terminology in the game object

* More gameobject cleanup

* Initial updates for CR

* Moved getting the currently targeted cards into the selectors & the select prompt, rather than from the player prompt state

* Variable naming update
* Base case working

* Working with reactions

* Working with removing cards from game if they have no legal targets

* Checked it with a "max 1 per conflict" event.  Time to try defend your honor

* About to try to get DYH to work

* Working with DYH

* Had to update the monastery protector test to not use the hiroue text output, since that unnecessarily couples tests

* Self CR.  Added some new test cases about not being able to pay costs

* Fixing some bad naming updates on optimization

* Added watch commander tests

* remove redundant check

Co-authored-by: Tom Nys <50174301+The-Outcast@users.noreply.github.com>
@The-Outcast The-Outcast changed the title Seekers of wisdom Seekers of Wisdom Jan 23, 2020
@The-Outcast The-Outcast merged commit c77dc24 into develop Jan 23, 2020
@coveralls
Copy link

Coverage Status

Coverage increased (+0.06%) to 88.153% when pulling 8de774f on seekers-of-wisdom into 9a5cb2b on develop.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants