graph-games-proto 0.3.2100__py3-none-any.whl → 0.3.2108__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
graph_games_proto/fns.py CHANGED
@@ -1684,28 +1684,76 @@ class Action2(PClass):
1684
1684
  )
1685
1685
 
1686
1686
 
1687
+ class CardStack(PClass):
1688
+ hidden = field(type=bool)
1689
+ cards = field(type=list) # List[Card]
1690
+ def __todict__(self):
1691
+ return {
1692
+ "hidden": self.hidden,
1693
+ "cards": self.cards,
1694
+ }
1695
+ @staticmethod
1696
+ def __fromdict__(d):
1697
+ return CardStack(
1698
+ hidden=d["hidden"],
1699
+ cards=d["cards"],
1700
+ )
1701
+
1702
+
1703
+ class CardSpread(PClass):
1704
+ hidden = field(type=bool)
1705
+ spots = field(type=list) # List[Card|None]
1706
+ def __todict__(self):
1707
+ return {
1708
+ "hidden": self.hidden,
1709
+ "spots": self.spots,
1710
+ }
1711
+ @staticmethod
1712
+ def __fromdict__(d):
1713
+ return CardSpread(
1714
+ hidden=d["hidden"],
1715
+ spots=d["spots"],
1716
+ )
1717
+
1718
+
1719
+
1687
1720
  class Deck(PClass):
1688
1721
  idx = field(type=int)
1689
1722
  uuid = field(type=str)
1690
- facedown_stack = field(type=list) # List[str]
1691
- discard = field(type=list) # List[str]
1692
- faceup_spots = field(type=list) # List[str]
1723
+ faceup_stack = field(type=CardStack, initial=None)
1724
+ faceup_spread = field(type=CardSpread, initial=None)
1725
+ facedown_stack = field(type=CardStack, initial=None)
1726
+ facedown_spread = field(type=CardSpread, initial=None)
1727
+ discard_faceup_stack = field(type=CardStack, initial=None)
1728
+ discard_faceup_spread = field(type=CardSpread, initial=None)
1729
+ discard_facedown_stack = field(type=CardStack, initial=None)
1730
+ discard_facedown_spread = field(type=CardSpread, initial=None)
1693
1731
  def __todict__(self):
1694
1732
  return {
1695
1733
  "idx": self.idx,
1696
1734
  "uuid": self.uuid,
1697
- "facedown_stack": self.facedown_stack,
1698
- "discard": self.discard,
1699
- "faceup_spots": self.faceup_spots,
1735
+ "faceup_stack": self.faceup_stack.__todict() if self.faceup_stack else None,
1736
+ "faceup_spread": self.faceup_spread.__todict() if self.faceup_spread else None,
1737
+ "facedown_stack": self.facedown_stack.__todict() if self.facedown_stack else None,
1738
+ "facedown_spread": self.facedown_spread.__todict() if self.facedown_spread else None,
1739
+ "discard_faceup_stack": self.discard_faceup_stack.__todict() if self.discard_faceup_stack else None,
1740
+ "discard_faceup_spread": self.discard_faceup_spread.__todict() if self.discard_faceup_spread else None,
1741
+ "discard_facedown_stack": self.discard_facedown_stack.__todict() if self.discard_facedown_stack else None,
1742
+ "discard_facedown_spread": self.discard_facedown_spread.__todict() if self.discard_facedown_spread else None,
1700
1743
  }
1701
1744
  @staticmethod
1702
1745
  def __fromdict__(d):
1703
1746
  return Deck(
1704
1747
  idx=d["idx"],
1705
1748
  uuid=d["uuid"],
1706
- facedown_stack=d["facedown_stack"],
1707
- discard=d["discard"],
1708
- faceup_spots=d["faceup_spots"],
1749
+ faceup_stack=CardStack.__fromdict__(d["faceup_stack"]) if d.get("faceup_stack") else None,
1750
+ faceup_spread=CardSpread.__fromdict__(d["faceup_spread"]) if d.get("faceup_spread") else None,
1751
+ facedown_stack=CardStack.__fromdict__(d["facedown_stack"]) if d.get("facedown_stack") else None,
1752
+ facedown_spread=CardSpread.__fromdict__(d["facedown_spread"]) if d.get("facedown_spread") else None,
1753
+ discard_faceup_stack=CardStack.__fromdict__(d["discard_faceup_stack"]) if d.get("discard_faceup_stack") else None,
1754
+ discard_faceup_spread=CardSpread.__fromdict__(d["discard_faceup_spread"]) if d.get("discard_faceup_spread") else None,
1755
+ discard_facedown_stack=CardStack.__fromdict__(d["discard_facedown_stack"]) if d.get("discard_facedown_stack") else None,
1756
+ discard_facedown_spread=CardSpread.__fromdict__(d["discard_facedown_spread"]) if d.get("discard_facedown_spread") else None,
1709
1757
  )
1710
1758
 
1711
1759
 
@@ -2231,9 +2279,9 @@ def init_state_kernel(game_config, **kwargs):
2231
2279
  deck_obj = Deck(
2232
2280
  uuid=dek.uuid,
2233
2281
  idx=dek.idx,
2234
- faceup_spots=[],
2235
- discard=[],
2236
- facedown_stack=[card.uuid for card in cards],
2282
+ facedown_stack=CardStack(hidden=True, cards=[c.uuid for c in cards]),
2283
+ faceup_spread=CardSpread(hidden=False, spots=[]),
2284
+ discard_facedown_stack=CardStack(hidden=True, cards=[]),
2237
2285
  )
2238
2286
  starting_decks.append(deck_obj)
2239
2287
 
@@ -3198,13 +3246,13 @@ def replenish_decks_if_needed(kernel):
3198
3246
  def replenish_faceup_spot_if_needed(kernel, deck_idx, spot_idx):
3199
3247
  deck = kernel.decks[deck_idx]
3200
3248
 
3201
- if deck.faceup_spots[spot_idx] is not None:
3249
+ if deck.faceup_spread.spots[spot_idx] is not None:
3202
3250
  return kernel
3203
3251
 
3204
- if len(deck.facedown_stack) == 0:
3252
+ if len(deck.facedown_stack.cards) == 0:
3205
3253
  return kernel
3206
-
3207
- deck.faceup_spots[spot_idx] = deck.facedown_stack.pop()
3254
+
3255
+ deck.faceup_spread.spots[spot_idx] = deck.facedown_stack.cards.pop()
3208
3256
 
3209
3257
  kernel = ensure_faceup_spots_valid(kernel)
3210
3258
 
@@ -3216,7 +3264,7 @@ def replenish_faceup_spot_if_needed(kernel, deck_idx, spot_idx):
3216
3264
  @dispatch(StateKernel, int)
3217
3265
  def replenish_faceup_if_needed(kernel, deck_idx):
3218
3266
  deck = kernel.decks[deck_idx]
3219
- for spot_idx in range(len(deck.faceup_spots)):
3267
+ for spot_idx in range(len(deck.faceup_spread.spots)):
3220
3268
  kernel = replenish_faceup_spot_if_needed(kernel, deck_idx, spot_idx)
3221
3269
  return kernel
3222
3270
 
@@ -3224,12 +3272,12 @@ def replenish_faceup_if_needed(kernel, deck_idx):
3224
3272
  @dispatch(StateKernel, int)
3225
3273
  def recycle_if_needed(kernel, deck_idx):
3226
3274
  deck = kernel.decks[deck_idx]
3227
- if len(deck.facedown_stack) == 0:
3228
- shuffled_discards = list(deck.discard)
3275
+ if len(deck.facedown_stack.cards) == 0:
3276
+ shuffled_discards = list(deck.discard_facedown_stack.cards)
3229
3277
  kernel.rng.shuffle(shuffled_discards)
3230
3278
  deck = deck.set(
3231
- facedown_stack = shuffled_discards,
3232
- discard = []
3279
+ facedown_stack=CardStack(hidden=True, cards=shuffled_discards),
3280
+ discard_facedown_stack=CardStack(hidden=True, cards=[])
3233
3281
  )
3234
3282
  kernel = set_deck(kernel, deck.idx, deck)
3235
3283
  return kernel
@@ -3244,11 +3292,11 @@ def handle_draw_action(kernel, action):
3244
3292
  player = kernel.players[legal_action.player_idx]
3245
3293
  deck = kernel.decks[draw.deck_idx]
3246
3294
 
3247
- if len(deck.facedown_stack) == 0:
3295
+ if len(deck.facedown_stack.cards) == 0:
3248
3296
  return kernel # No cards to draw
3249
3297
 
3250
3298
  for _ in range(draw.quantity):
3251
- drawn_card = deck.facedown_stack.pop()
3299
+ drawn_card = deck.facedown_stack.cards.pop()
3252
3300
  player.cards.append(drawn_card)
3253
3301
  kernel = recycle_if_needed(kernel, draw.deck_idx)
3254
3302
 
@@ -3272,11 +3320,11 @@ def handle_draw_discard_action(kernel, action):
3272
3320
  player = kernel.players[legal_action.player_idx]
3273
3321
  deck = kernel.decks[draw_discard.deck_idx]
3274
3322
 
3275
- if len(deck.facedown_stack) == 0:
3323
+ if len(deck.facedown_stack.cards) == 0:
3276
3324
  return kernel # No cards to draw
3277
3325
 
3278
3326
  for _ in range(draw_discard.quantity):
3279
- drawn_card = deck.facedown_stack.pop()
3327
+ drawn_card = deck.facedown_stack.cards.pop()
3280
3328
  player.discard_tray.append(drawn_card)
3281
3329
 
3282
3330
  return kernel.set(
@@ -3292,8 +3340,8 @@ def get_follow_up_draw_legal_actions(kernel, action):
3292
3340
  if len(kernel.history) >= 2:
3293
3341
  last_action = kernel.history[-2]
3294
3342
  if (last_action.legal_action.player_idx != legal_action.player_idx) or last_action.legal_action.name == "INITIAL-GOAL-KEEP":
3295
-
3296
- if len(kernel.decks[0].facedown_stack) >= 1:
3343
+
3344
+ if len(kernel.decks[0].facedown_stack.cards) >= 1:
3297
3345
  to_return.append(
3298
3346
  LegalAction(
3299
3347
  auto_preferred=True,
@@ -3308,8 +3356,8 @@ def get_follow_up_draw_legal_actions(kernel, action):
3308
3356
  )
3309
3357
  )
3310
3358
  )
3311
-
3312
- for card_uuid in kernel.decks[0].faceup_spots:
3359
+
3360
+ for card_uuid in kernel.decks[0].faceup_spread.spots:
3313
3361
  if card_uuid:
3314
3362
  if not kernel.carduuid2card[card_uuid].is_wild:
3315
3363
  to_return.append(
@@ -3332,7 +3380,7 @@ def get_follow_up_draw_legal_actions(kernel, action):
3332
3380
  @dispatch(StateKernel, int)
3333
3381
  def get_num_faceup_wilds(kernel, deck_idx):
3334
3382
  deck = kernel.decks[deck_idx]
3335
- non_empty_spots = [spot for spot in deck.faceup_spots if spot]
3383
+ non_empty_spots = [spot for spot in deck.faceup_spread.spots if spot]
3336
3384
  if not non_empty_spots:
3337
3385
  return 0
3338
3386
  return sum(1 for card_uuid in non_empty_spots if kernel.carduuid2card[card_uuid].is_wild)
@@ -3352,14 +3400,14 @@ def ensure_faceup_spots_valid(kernel):
3352
3400
  @dispatch(StateKernel, int)
3353
3401
  def discardfaceup_shuffle_flip(kernel, deck_idx):
3354
3402
  deck = kernel.decks[deck_idx]
3355
- num_faceup_spots = len(deck.faceup_spots)
3356
- for faceup_spot in deck.faceup_spots:
3403
+ num_faceup_spots = len(deck.faceup_spread.spots)
3404
+ for faceup_spot in deck.faceup_spread.spots:
3357
3405
  if faceup_spot:
3358
- deck.discard.append(faceup_spot)
3359
- deck = deck.set(faceup_spots=[])
3360
- while len(deck.discard) > 0:
3361
- card = deck.discard.pop()
3362
- deck.facedown_stack.append(card)
3406
+ deck.discard_facedown_stack.cards.append(faceup_spot)
3407
+ deck = deck.set(faceup_spread=CardStack(hidden=False, cards=[]))
3408
+ while len(deck.discard_facedown_stack.cards) > 0:
3409
+ card = deck.discard_facedown_stack.cards.pop()
3410
+ deck.facedown_stack.cards.append(card)
3363
3411
  deck = shuffle(kernel.rng, deck)
3364
3412
  kernel = set_deck(kernel, deck.idx, deck)
3365
3413
  kernel = flip_cards(kernel, deck.idx, num_faceup_spots)
@@ -3375,11 +3423,11 @@ def handle_faceup_draw_action(kernel, action):
3375
3423
  player = kernel.players[legal_action.player_idx]
3376
3424
  deck = kernel.decks[faceup_draw.deck_idx]
3377
3425
  # find the faceup spot idx with uuid "faceup_draw.card_uuid"
3378
- spot_idx = next((i for i, card_uuid in enumerate(deck.faceup_spots) if card_uuid == faceup_draw.card_uuid), None)
3379
- drawn_card = deck.faceup_spots[spot_idx] if spot_idx is not None else None
3426
+ spot_idx = next((i for i, card_uuid in enumerate(deck.faceup_spread.spots) if card_uuid == faceup_draw.card_uuid), None)
3427
+ drawn_card = deck.faceup_spread.spots[spot_idx] if spot_idx is not None else None
3380
3428
  player.cards.append(drawn_card)
3381
-
3382
- deck.faceup_spots[spot_idx] = None
3429
+
3430
+ deck.faceup_spread.spots[spot_idx] = None
3383
3431
  kernel = kernel.set(decks=kernel.decks)
3384
3432
  kernel = replenish_faceup_spot_if_needed(kernel, faceup_draw.deck_idx, spot_idx)
3385
3433
 
@@ -3596,9 +3644,9 @@ def handle_move_longest_path_card(kernel, action):
3596
3644
 
3597
3645
  if len(kernel.decks) > 2:
3598
3646
  longest_path_deck = kernel.decks[2]
3599
- if longest_path_deck.facedown_stack:
3647
+ if longest_path_deck.facedown_stack.cards:
3600
3648
  # Move the longest path card to the player's hand
3601
- longest_path_card = longest_path_deck.facedown_stack.pop()
3649
+ longest_path_card = longest_path_deck.facedown_stack.cards.pop()
3602
3650
  else:
3603
3651
  # Search for the longest path card in each player's cards
3604
3652
  player_with_card = find_player_with_longest_path_card(kernel)
@@ -3664,7 +3712,7 @@ def handle_move_pieces_to_path_action(kernel, action):
3664
3712
  # Remove the card from player's cards
3665
3713
  card_uuid = player.cards.pop(card_idx)
3666
3714
  # add to discard
3667
- kernel.decks[kernel.carduuid2card[card_uuid].deck_idx].discard.append(card_uuid)
3715
+ kernel.decks[kernel.carduuid2card[card_uuid].deck_idx].discard_facedown_stack.cards.append(card_uuid)
3668
3716
 
3669
3717
  kernel = recycle_decks_if_needed(kernel)
3670
3718
  kernel = replenish_decks_if_needed(kernel)
@@ -3756,7 +3804,7 @@ def handle_keep_action(kernel, action):
3756
3804
 
3757
3805
 
3758
3806
  # Discard the non-kept cards to the deck's discard pile
3759
- deck.discard.extend(non_kept_cards)
3807
+ deck.discard_facedown_stack.cards.extend(non_kept_cards)
3760
3808
 
3761
3809
  # Clear the discard tray and add the kept cards back
3762
3810
  player.cards.extend([c for c in kept_cards if c is not None])
@@ -3798,7 +3846,7 @@ def handle_discard_action(kernel, action):
3798
3846
  print("****************************** handle_discard_action 6", non_kept_cards)
3799
3847
 
3800
3848
  # Discard the non-kept cards to the deck's discard pile
3801
- deck.discard.extend(non_kept_cards)
3849
+ deck.discard_facedown_stack.cards.extend(non_kept_cards)
3802
3850
 
3803
3851
  # Clear the discard tray and add the kept cards back
3804
3852
  player.cards.extend([c for c in kept_cards if c is not None])
@@ -3827,9 +3875,9 @@ def set_deck(kernel, deck_idx, deck):
3827
3875
 
3828
3876
 
3829
3877
  def shuffle(rng, deck):
3830
- shuffled_cards = list(deck.facedown_stack)
3878
+ shuffled_cards = list(deck.facedown_stack.cards)
3831
3879
  rng.shuffle(shuffled_cards)
3832
- return deck.set(facedown_stack=shuffled_cards)
3880
+ return deck.set(facedown_stack=CardStack(hidden=True, cards=shuffled_cards))
3833
3881
 
3834
3882
 
3835
3883
  @dispatch(StateKernel, int)
@@ -3838,7 +3886,7 @@ def shuffle_deck(kernel, deck_idx):
3838
3886
  return kernel
3839
3887
 
3840
3888
  deck = kernel.decks[deck_idx]
3841
- if not deck or not deck.facedown_stack:
3889
+ if not deck or not deck.facedown_stack.cards:
3842
3890
  return kernel
3843
3891
 
3844
3892
  shuffled_deck = shuffle(kernel.rng, deck)
@@ -3864,14 +3912,14 @@ def flip_cards(kernel, deck_idx, num_cards):
3864
3912
  return kernel
3865
3913
 
3866
3914
  deck = kernel.decks[deck_idx]
3867
- if not deck or not deck.facedown_stack:
3915
+ if not deck or not deck.facedown_stack.cards:
3868
3916
  return kernel
3869
3917
 
3870
- # Flip the top num_cards from the facedown_stack to the faceup_spots
3918
+ # Flip the top num_cards from the facedown_stack to the faceup_spread
3871
3919
  for _ in range(num_cards):
3872
- if deck.facedown_stack:
3873
- card = deck.facedown_stack.pop()
3874
- deck.faceup_spots.append(card)
3920
+ if deck.facedown_stack.cards:
3921
+ card = deck.facedown_stack.cards.pop()
3922
+ deck.faceup_spread.spots.append(card)
3875
3923
 
3876
3924
  return kernel.set(decks=kernel.decks)
3877
3925
 
@@ -3899,14 +3947,14 @@ def deal_cards_to_each_player_discard_tray(kernel, deck_idx, num_cards):
3899
3947
  return kernel
3900
3948
 
3901
3949
  deck = kernel.decks[deck_idx]
3902
- if not deck or not deck.facedown_stack:
3950
+ if not deck or not deck.facedown_stack.cards:
3903
3951
  return kernel
3904
3952
 
3905
3953
  for player in kernel.players:
3906
3954
  # Deal cards to the player's discard tray
3907
3955
  for _ in range(num_cards):
3908
- if deck.facedown_stack:
3909
- card = deck.facedown_stack.pop()
3956
+ if deck.facedown_stack.cards:
3957
+ card = deck.facedown_stack.cards.pop()
3910
3958
  player.discard_tray.append(card)
3911
3959
 
3912
3960
  return kernel.set(players=kernel.players, decks=kernel.decks)
@@ -3918,15 +3966,15 @@ def deal_cards_to_each_player(kernel, deck_idx, num_cards):
3918
3966
  return kernel
3919
3967
 
3920
3968
  deck = kernel.decks[deck_idx]
3921
- if not deck or not deck.facedown_stack:
3969
+ if not deck or not deck.facedown_stack.cards:
3922
3970
  return kernel
3923
3971
 
3924
3972
  for player in kernel.players:
3925
3973
  player_hand = player.cards
3926
3974
  # Deal cards to the player's hand
3927
3975
  for _ in range(num_cards):
3928
- if deck.facedown_stack:
3929
- card = deck.facedown_stack.pop()
3976
+ if deck.facedown_stack.cards:
3977
+ card = deck.facedown_stack.cards.pop()
3930
3978
  player_hand.append(card)
3931
3979
 
3932
3980
  return kernel.set(players=kernel.players, decks=kernel.decks)
@@ -4751,9 +4799,9 @@ def getpublicdeck(s, d):
4751
4799
  return PublicDeck(
4752
4800
  idx=d.idx,
4753
4801
  uuid=d.uuid,
4754
- facedown_stack_len=len(d.facedown_stack),
4755
- discard_len=len(d.discard),
4756
- faceup_spots=d.faceup_spots,
4802
+ facedown_stack_len=len(d.facedown_stack.cards),
4803
+ discard_len=len(d.discard_facedown_stack.cards),
4804
+ faceup_spots=d.faceup_spread.spots,
4757
4805
  )
4758
4806
 
4759
4807
 
@@ -5353,7 +5401,7 @@ def getscorecodes(f):
5353
5401
  # filter(n -> !isnothing(s.faceup_spots[n]), 1:length(s.faceup_spots))
5354
5402
  # end
5355
5403
  def getvalidspotnums(s):
5356
- return [n for n in range(1, len(s.faceup_spots) + 1) if s.faceup_spots[n-1] is not None]
5404
+ return [n for n in range(1, len(s.faceup_spread.spots) + 1) if s.faceup_spread.spots[n-1] is not None]
5357
5405
 
5358
5406
 
5359
5407
  def json_serializer(obj):
@@ -5789,7 +5837,7 @@ def get_default_legal_actions(state_kernel, player_idx):
5789
5837
  allotted_since_action_idx = len(state_kernel.history) - 1
5790
5838
  legal_actions = []
5791
5839
 
5792
- if len(state_kernel.decks[1].facedown_stack) >= 1:
5840
+ if len(state_kernel.decks[1].facedown_stack.cards) >= 1:
5793
5841
  legal_actions.append(
5794
5842
  LegalAction(
5795
5843
  player_idx=player_idx,
@@ -5805,7 +5853,7 @@ def get_default_legal_actions(state_kernel, player_idx):
5805
5853
  )
5806
5854
  )
5807
5855
 
5808
- if len(state_kernel.decks[0].facedown_stack) >= 1:
5856
+ if len(state_kernel.decks[0].facedown_stack.cards) >= 1:
5809
5857
  legal_actions.append(
5810
5858
  LegalAction(
5811
5859
  auto_preferred=True,
@@ -5821,7 +5869,7 @@ def get_default_legal_actions(state_kernel, player_idx):
5821
5869
  )
5822
5870
  )
5823
5871
 
5824
- if len(state_kernel.decks[0].facedown_stack) >= 2:
5872
+ if len(state_kernel.decks[0].facedown_stack.cards) >= 2:
5825
5873
  legal_actions.append(
5826
5874
  LegalAction(
5827
5875
  player_idx=player_idx,
@@ -5836,7 +5884,7 @@ def get_default_legal_actions(state_kernel, player_idx):
5836
5884
  )
5837
5885
  )
5838
5886
 
5839
- for card_uuid in state_kernel.decks[0].faceup_spots:
5887
+ for card_uuid in state_kernel.decks[0].faceup_spread.spots:
5840
5888
  if card_uuid:
5841
5889
  legal_actions.append(
5842
5890
  LegalAction(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graph_games_proto
3
- Version: 0.3.2100
3
+ Version: 0.3.2108
4
4
  Requires-Dist: multipledispatch==1.0.0
5
5
  Requires-Dist: pyrsistent==0.20.0
6
6
  Requires-Dist: numpy==2.2.4
@@ -1,9 +1,9 @@
1
1
  graph_games_proto/__init__.py,sha256=_EVQR-51XehfH45XZlba1WPdx3omS3Gm1nTwrgGyn2Q,667
2
2
  graph_games_proto/all_types.py,sha256=IpbwftEcHS5Ewz-saFNk0lO9FvcbuHG36odRTayCXUk,54911
3
- graph_games_proto/fns.py,sha256=q656HgMAmHaIlbYI1lBYZLLTvRfa7X9tfCUoC-oQINI,199495
3
+ graph_games_proto/fns.py,sha256=WGR2BwNkkZ7Gt2ocqNTboqGxoyQEtj_mPVFMjzXDiLM,202747
4
4
  graph_games_proto/main.py,sha256=fj2U7KcwrpZtuUhjOX5yVxY18LZvvsxDFYZ_S5mxe04,145
5
5
  graph_games_proto/state.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- graph_games_proto-0.3.2100.dist-info/METADATA,sha256=rpyhU4WzhqGJrINJ3gDW4851KSujWfNJX3sF5ZwJnBo,188
7
- graph_games_proto-0.3.2100.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
8
- graph_games_proto-0.3.2100.dist-info/top_level.txt,sha256=-4QSrBMf_MM4BGsr2QXBpqDx8c8k_OPnzGyFjqjakes,18
9
- graph_games_proto-0.3.2100.dist-info/RECORD,,
6
+ graph_games_proto-0.3.2108.dist-info/METADATA,sha256=U_Z7IaK0i_PJbKDerzvnohXWvrDCy84dZ1dAaTInYGg,188
7
+ graph_games_proto-0.3.2108.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
8
+ graph_games_proto-0.3.2108.dist-info/top_level.txt,sha256=-4QSrBMf_MM4BGsr2QXBpqDx8c8k_OPnzGyFjqjakes,18
9
+ graph_games_proto-0.3.2108.dist-info/RECORD,,