game: gin_rummy

GameType.chance_mode = ChanceMode.EXPLICIT_STOCHASTIC
GameType.dynamics = Dynamics.SEQUENTIAL
GameType.information = Information.IMPERFECT_INFORMATION
GameType.long_name = "Gin Rummy"
GameType.max_num_players = 2
GameType.min_num_players = 2
GameType.parameter_specification = ["gin_bonus", "knock_card", "oklahoma", "undercut_bonus"]
GameType.provides_information_state_string = False
GameType.provides_information_state_tensor = False
GameType.provides_observation_string = True
GameType.provides_observation_tensor = True
GameType.provides_factored_observation_string = False
GameType.reward_model = RewardModel.TERMINAL
GameType.short_name = "gin_rummy"
GameType.utility = Utility.ZERO_SUM

NumDistinctActions() = 241
PolicyTensorShape() = [241]
MaxChanceOutcomes() = 52
GetParameters() = {gin_bonus=25,knock_card=10,oklahoma=False,undercut_bonus=25}
NumPlayers() = 2
MinUtility() = -123.0
MaxUtility() = 123.0
UtilitySum() = 0.0
ObservationTensorShape() = [384]
ObservationTensorLayout() = TensorLayout.CHW
ObservationTensorSize() = 384
MaxGameLength() = 300
ToString() = "gin_rummy()"

# State 0
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 52  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
IsTerminal() = False
History() = []
HistoryString() = ""
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.019230769231}, {1, 0.019230769231}, {2, 0.019230769231}, {3, 0.019230769231}, {4, 0.019230769231}, {5, 0.019230769231}, {6, 0.019230769231}, {7, 0.019230769231}, {8, 0.019230769231}, {9, 0.019230769231}, {10, 0.019230769231}, {11, 0.019230769231}, {12, 0.019230769231}, {13, 0.019230769231}, {14, 0.019230769231}, {15, 0.019230769231}, {16, 0.019230769231}, {17, 0.019230769231}, {18, 0.019230769231}, {19, 0.019230769231}, {20, 0.019230769231}, {21, 0.019230769231}, {22, 0.019230769231}, {23, 0.019230769231}, {24, 0.019230769231}, {25, 0.019230769231}, {26, 0.019230769231}, {27, 0.019230769231}, {28, 0.019230769231}, {29, 0.019230769231}, {30, 0.019230769231}, {31, 0.019230769231}, {32, 0.019230769231}, {33, 0.019230769231}, {34, 0.019230769231}, {35, 0.019230769231}, {36, 0.019230769231}, {37, 0.019230769231}, {38, 0.019230769231}, {39, 0.019230769231}, {40, 0.019230769231}, {41, 0.019230769231}, {42, 0.019230769231}, {43, 0.019230769231}, {44, 0.019230769231}, {45, 0.019230769231}, {46, 0.019230769231}, {47, 0.019230769231}, {48, 0.019230769231}, {49, 0.019230769231}, {50, 0.019230769231}, {51, 0.019230769231}]
LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 3s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ts", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Qc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 4d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Jh", "Chance outcome: Qh", "Chance outcome: Kh"]

# Apply action "Chance outcome: 4d"
action: 29

# State 1
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 51  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |      4d                  |
# |                          |
# +--------------------------+
IsTerminal() = False
History() = [29]
HistoryString() = "29"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|      4d                  |\n|                          |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.019607843137}, {1, 0.019607843137}, {2, 0.019607843137}, {3, 0.019607843137}, {4, 0.019607843137}, {5, 0.019607843137}, {6, 0.019607843137}, {7, 0.019607843137}, {8, 0.019607843137}, {9, 0.019607843137}, {10, 0.019607843137}, {11, 0.019607843137}, {12, 0.019607843137}, {13, 0.019607843137}, {14, 0.019607843137}, {15, 0.019607843137}, {16, 0.019607843137}, {17, 0.019607843137}, {18, 0.019607843137}, {19, 0.019607843137}, {20, 0.019607843137}, {21, 0.019607843137}, {22, 0.019607843137}, {23, 0.019607843137}, {24, 0.019607843137}, {25, 0.019607843137}, {26, 0.019607843137}, {27, 0.019607843137}, {28, 0.019607843137}, {30, 0.019607843137}, {31, 0.019607843137}, {32, 0.019607843137}, {33, 0.019607843137}, {34, 0.019607843137}, {35, 0.019607843137}, {36, 0.019607843137}, {37, 0.019607843137}, {38, 0.019607843137}, {39, 0.019607843137}, {40, 0.019607843137}, {41, 0.019607843137}, {42, 0.019607843137}, {43, 0.019607843137}, {44, 0.019607843137}, {45, 0.019607843137}, {46, 0.019607843137}, {47, 0.019607843137}, {48, 0.019607843137}, {49, 0.019607843137}, {50, 0.019607843137}, {51, 0.019607843137}]
LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 3s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ts", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Qc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Jh", "Chance outcome: Qh", "Chance outcome: Kh"]

# Apply action "Chance outcome: Jh"
action: 49

# State 2
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 50  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |      4d                  |
# |                    Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49]
HistoryString() = "29, 49"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|      4d                  |\n|                    Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.020000000000}, {1, 0.020000000000}, {2, 0.020000000000}, {3, 0.020000000000}, {4, 0.020000000000}, {5, 0.020000000000}, {6, 0.020000000000}, {7, 0.020000000000}, {8, 0.020000000000}, {9, 0.020000000000}, {10, 0.020000000000}, {11, 0.020000000000}, {12, 0.020000000000}, {13, 0.020000000000}, {14, 0.020000000000}, {15, 0.020000000000}, {16, 0.020000000000}, {17, 0.020000000000}, {18, 0.020000000000}, {19, 0.020000000000}, {20, 0.020000000000}, {21, 0.020000000000}, {22, 0.020000000000}, {23, 0.020000000000}, {24, 0.020000000000}, {25, 0.020000000000}, {26, 0.020000000000}, {27, 0.020000000000}, {28, 0.020000000000}, {30, 0.020000000000}, {31, 0.020000000000}, {32, 0.020000000000}, {33, 0.020000000000}, {34, 0.020000000000}, {35, 0.020000000000}, {36, 0.020000000000}, {37, 0.020000000000}, {38, 0.020000000000}, {39, 0.020000000000}, {40, 0.020000000000}, {41, 0.020000000000}, {42, 0.020000000000}, {43, 0.020000000000}, {44, 0.020000000000}, {45, 0.020000000000}, {46, 0.020000000000}, {47, 0.020000000000}, {48, 0.020000000000}, {50, 0.020000000000}, {51, 0.020000000000}]
LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 3s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ts", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Qc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh", "Chance outcome: Kh"]

# Apply action "Chance outcome: Ts"
action: 9

# State 3
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 49  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |                  Ts      |
# |                          |
# |      4d                  |
# |                    Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9]
HistoryString() = "29, 49, 9"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                  Ts      |\n|                          |\n|      4d                  |\n|                    Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.020408163265}, {1, 0.020408163265}, {2, 0.020408163265}, {3, 0.020408163265}, {4, 0.020408163265}, {5, 0.020408163265}, {6, 0.020408163265}, {7, 0.020408163265}, {8, 0.020408163265}, {10, 0.020408163265}, {11, 0.020408163265}, {12, 0.020408163265}, {13, 0.020408163265}, {14, 0.020408163265}, {15, 0.020408163265}, {16, 0.020408163265}, {17, 0.020408163265}, {18, 0.020408163265}, {19, 0.020408163265}, {20, 0.020408163265}, {21, 0.020408163265}, {22, 0.020408163265}, {23, 0.020408163265}, {24, 0.020408163265}, {25, 0.020408163265}, {26, 0.020408163265}, {27, 0.020408163265}, {28, 0.020408163265}, {30, 0.020408163265}, {31, 0.020408163265}, {32, 0.020408163265}, {33, 0.020408163265}, {34, 0.020408163265}, {35, 0.020408163265}, {36, 0.020408163265}, {37, 0.020408163265}, {38, 0.020408163265}, {39, 0.020408163265}, {40, 0.020408163265}, {41, 0.020408163265}, {42, 0.020408163265}, {43, 0.020408163265}, {44, 0.020408163265}, {45, 0.020408163265}, {46, 0.020408163265}, {47, 0.020408163265}, {48, 0.020408163265}, {50, 0.020408163265}, {51, 0.020408163265}]
LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 3s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Qc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh", "Chance outcome: Kh"]

# Apply action "Chance outcome: 3s"
action: 2

# State 4
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 48  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |                          |
# |      4d                  |
# |                    Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2]
HistoryString() = "29, 49, 9, 2"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|                          |\n|      4d                  |\n|                    Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.020833333333}, {1, 0.020833333333}, {3, 0.020833333333}, {4, 0.020833333333}, {5, 0.020833333333}, {6, 0.020833333333}, {7, 0.020833333333}, {8, 0.020833333333}, {10, 0.020833333333}, {11, 0.020833333333}, {12, 0.020833333333}, {13, 0.020833333333}, {14, 0.020833333333}, {15, 0.020833333333}, {16, 0.020833333333}, {17, 0.020833333333}, {18, 0.020833333333}, {19, 0.020833333333}, {20, 0.020833333333}, {21, 0.020833333333}, {22, 0.020833333333}, {23, 0.020833333333}, {24, 0.020833333333}, {25, 0.020833333333}, {26, 0.020833333333}, {27, 0.020833333333}, {28, 0.020833333333}, {30, 0.020833333333}, {31, 0.020833333333}, {32, 0.020833333333}, {33, 0.020833333333}, {34, 0.020833333333}, {35, 0.020833333333}, {36, 0.020833333333}, {37, 0.020833333333}, {38, 0.020833333333}, {39, 0.020833333333}, {40, 0.020833333333}, {41, 0.020833333333}, {42, 0.020833333333}, {43, 0.020833333333}, {44, 0.020833333333}, {45, 0.020833333333}, {46, 0.020833333333}, {47, 0.020833333333}, {48, 0.020833333333}, {50, 0.020833333333}, {51, 0.020833333333}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Qc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh", "Chance outcome: Kh"]

# Apply action "Chance outcome: Kh"
action: 51

# State 5
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 47  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |                          |
# |      4d                  |
# |                    Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51]
HistoryString() = "29, 49, 9, 2, 51"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|                          |\n|      4d                  |\n|                    Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.021276595745}, {1, 0.021276595745}, {3, 0.021276595745}, {4, 0.021276595745}, {5, 0.021276595745}, {6, 0.021276595745}, {7, 0.021276595745}, {8, 0.021276595745}, {10, 0.021276595745}, {11, 0.021276595745}, {12, 0.021276595745}, {13, 0.021276595745}, {14, 0.021276595745}, {15, 0.021276595745}, {16, 0.021276595745}, {17, 0.021276595745}, {18, 0.021276595745}, {19, 0.021276595745}, {20, 0.021276595745}, {21, 0.021276595745}, {22, 0.021276595745}, {23, 0.021276595745}, {24, 0.021276595745}, {25, 0.021276595745}, {26, 0.021276595745}, {27, 0.021276595745}, {28, 0.021276595745}, {30, 0.021276595745}, {31, 0.021276595745}, {32, 0.021276595745}, {33, 0.021276595745}, {34, 0.021276595745}, {35, 0.021276595745}, {36, 0.021276595745}, {37, 0.021276595745}, {38, 0.021276595745}, {39, 0.021276595745}, {40, 0.021276595745}, {41, 0.021276595745}, {42, 0.021276595745}, {43, 0.021276595745}, {44, 0.021276595745}, {45, 0.021276595745}, {46, 0.021276595745}, {47, 0.021276595745}, {48, 0.021276595745}, {50, 0.021276595745}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Qc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: Qc"
action: 24

# State 6
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 46  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |                      Qc  |
# |      4d                  |
# |                    Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24]
HistoryString() = "29, 49, 9, 2, 51, 24"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|                      Qc  |\n|      4d                  |\n|                    Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.021739130435}, {1, 0.021739130435}, {3, 0.021739130435}, {4, 0.021739130435}, {5, 0.021739130435}, {6, 0.021739130435}, {7, 0.021739130435}, {8, 0.021739130435}, {10, 0.021739130435}, {11, 0.021739130435}, {12, 0.021739130435}, {13, 0.021739130435}, {14, 0.021739130435}, {15, 0.021739130435}, {16, 0.021739130435}, {17, 0.021739130435}, {18, 0.021739130435}, {19, 0.021739130435}, {20, 0.021739130435}, {21, 0.021739130435}, {22, 0.021739130435}, {23, 0.021739130435}, {25, 0.021739130435}, {26, 0.021739130435}, {27, 0.021739130435}, {28, 0.021739130435}, {30, 0.021739130435}, {31, 0.021739130435}, {32, 0.021739130435}, {33, 0.021739130435}, {34, 0.021739130435}, {35, 0.021739130435}, {36, 0.021739130435}, {37, 0.021739130435}, {38, 0.021739130435}, {39, 0.021739130435}, {40, 0.021739130435}, {41, 0.021739130435}, {42, 0.021739130435}, {43, 0.021739130435}, {44, 0.021739130435}, {45, 0.021739130435}, {46, 0.021739130435}, {47, 0.021739130435}, {48, 0.021739130435}, {50, 0.021739130435}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Td", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: Td"
action: 35

# State 7
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 45  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |                      Qc  |
# |      4d          Td      |
# |                    Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35]
HistoryString() = "29, 49, 9, 2, 51, 24, 35"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|                      Qc  |\n|      4d          Td      |\n|                    Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.022222222222}, {1, 0.022222222222}, {3, 0.022222222222}, {4, 0.022222222222}, {5, 0.022222222222}, {6, 0.022222222222}, {7, 0.022222222222}, {8, 0.022222222222}, {10, 0.022222222222}, {11, 0.022222222222}, {12, 0.022222222222}, {13, 0.022222222222}, {14, 0.022222222222}, {15, 0.022222222222}, {16, 0.022222222222}, {17, 0.022222222222}, {18, 0.022222222222}, {19, 0.022222222222}, {20, 0.022222222222}, {21, 0.022222222222}, {22, 0.022222222222}, {23, 0.022222222222}, {25, 0.022222222222}, {26, 0.022222222222}, {27, 0.022222222222}, {28, 0.022222222222}, {30, 0.022222222222}, {31, 0.022222222222}, {32, 0.022222222222}, {33, 0.022222222222}, {34, 0.022222222222}, {36, 0.022222222222}, {37, 0.022222222222}, {38, 0.022222222222}, {39, 0.022222222222}, {40, 0.022222222222}, {41, 0.022222222222}, {42, 0.022222222222}, {43, 0.022222222222}, {44, 0.022222222222}, {45, 0.022222222222}, {46, 0.022222222222}, {47, 0.022222222222}, {48, 0.022222222222}, {50, 0.022222222222}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 8c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: 8c"
action: 20

# State 8
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 44  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d          Td      |
# |                    Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d          Td      |\n|                    Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.022727272727}, {1, 0.022727272727}, {3, 0.022727272727}, {4, 0.022727272727}, {5, 0.022727272727}, {6, 0.022727272727}, {7, 0.022727272727}, {8, 0.022727272727}, {10, 0.022727272727}, {11, 0.022727272727}, {12, 0.022727272727}, {13, 0.022727272727}, {14, 0.022727272727}, {15, 0.022727272727}, {16, 0.022727272727}, {17, 0.022727272727}, {18, 0.022727272727}, {19, 0.022727272727}, {21, 0.022727272727}, {22, 0.022727272727}, {23, 0.022727272727}, {25, 0.022727272727}, {26, 0.022727272727}, {27, 0.022727272727}, {28, 0.022727272727}, {30, 0.022727272727}, {31, 0.022727272727}, {32, 0.022727272727}, {33, 0.022727272727}, {34, 0.022727272727}, {36, 0.022727272727}, {37, 0.022727272727}, {38, 0.022727272727}, {39, 0.022727272727}, {40, 0.022727272727}, {41, 0.022727272727}, {42, 0.022727272727}, {43, 0.022727272727}, {44, 0.022727272727}, {45, 0.022727272727}, {46, 0.022727272727}, {47, 0.022727272727}, {48, 0.022727272727}, {50, 0.022727272727}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: 9h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: 9h"
action: 47

# State 9
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 43  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d          Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d          Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.023255813953}, {1, 0.023255813953}, {3, 0.023255813953}, {4, 0.023255813953}, {5, 0.023255813953}, {6, 0.023255813953}, {7, 0.023255813953}, {8, 0.023255813953}, {10, 0.023255813953}, {11, 0.023255813953}, {12, 0.023255813953}, {13, 0.023255813953}, {14, 0.023255813953}, {15, 0.023255813953}, {16, 0.023255813953}, {17, 0.023255813953}, {18, 0.023255813953}, {19, 0.023255813953}, {21, 0.023255813953}, {22, 0.023255813953}, {23, 0.023255813953}, {25, 0.023255813953}, {26, 0.023255813953}, {27, 0.023255813953}, {28, 0.023255813953}, {30, 0.023255813953}, {31, 0.023255813953}, {32, 0.023255813953}, {33, 0.023255813953}, {34, 0.023255813953}, {36, 0.023255813953}, {37, 0.023255813953}, {38, 0.023255813953}, {39, 0.023255813953}, {40, 0.023255813953}, {41, 0.023255813953}, {42, 0.023255813953}, {43, 0.023255813953}, {44, 0.023255813953}, {45, 0.023255813953}, {46, 0.023255813953}, {48, 0.023255813953}, {50, 0.023255813953}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 6d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: 6d"
action: 31

# State 10
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |                          |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 42  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.023809523810}, {1, 0.023809523810}, {3, 0.023809523810}, {4, 0.023809523810}, {5, 0.023809523810}, {6, 0.023809523810}, {7, 0.023809523810}, {8, 0.023809523810}, {10, 0.023809523810}, {11, 0.023809523810}, {12, 0.023809523810}, {13, 0.023809523810}, {14, 0.023809523810}, {15, 0.023809523810}, {16, 0.023809523810}, {17, 0.023809523810}, {18, 0.023809523810}, {19, 0.023809523810}, {21, 0.023809523810}, {22, 0.023809523810}, {23, 0.023809523810}, {25, 0.023809523810}, {26, 0.023809523810}, {27, 0.023809523810}, {28, 0.023809523810}, {30, 0.023809523810}, {32, 0.023809523810}, {33, 0.023809523810}, {34, 0.023809523810}, {36, 0.023809523810}, {37, 0.023809523810}, {38, 0.023809523810}, {39, 0.023809523810}, {40, 0.023809523810}, {41, 0.023809523810}, {42, 0.023809523810}, {43, 0.023809523810}, {44, 0.023809523810}, {45, 0.023809523810}, {46, 0.023809523810}, {48, 0.023809523810}, {50, 0.023809523810}]
LegalActions() = [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 6s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: 6s"
action: 5

# State 11
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |          6s              |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 41  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|          6s              |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.024390243902}, {1, 0.024390243902}, {3, 0.024390243902}, {4, 0.024390243902}, {6, 0.024390243902}, {7, 0.024390243902}, {8, 0.024390243902}, {10, 0.024390243902}, {11, 0.024390243902}, {12, 0.024390243902}, {13, 0.024390243902}, {14, 0.024390243902}, {15, 0.024390243902}, {16, 0.024390243902}, {17, 0.024390243902}, {18, 0.024390243902}, {19, 0.024390243902}, {21, 0.024390243902}, {22, 0.024390243902}, {23, 0.024390243902}, {25, 0.024390243902}, {26, 0.024390243902}, {27, 0.024390243902}, {28, 0.024390243902}, {30, 0.024390243902}, {32, 0.024390243902}, {33, 0.024390243902}, {34, 0.024390243902}, {36, 0.024390243902}, {37, 0.024390243902}, {38, 0.024390243902}, {39, 0.024390243902}, {40, 0.024390243902}, {41, 0.024390243902}, {42, 0.024390243902}, {43, 0.024390243902}, {44, 0.024390243902}, {45, 0.024390243902}, {46, 0.024390243902}, {48, 0.024390243902}, {50, 0.024390243902}]
LegalActions() = [0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Js", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: Js"
action: 10

# State 12
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |          6s        Js    |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 40  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|          6s        Js    |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◉◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.025000000000}, {1, 0.025000000000}, {3, 0.025000000000}, {4, 0.025000000000}, {6, 0.025000000000}, {7, 0.025000000000}, {8, 0.025000000000}, {11, 0.025000000000}, {12, 0.025000000000}, {13, 0.025000000000}, {14, 0.025000000000}, {15, 0.025000000000}, {16, 0.025000000000}, {17, 0.025000000000}, {18, 0.025000000000}, {19, 0.025000000000}, {21, 0.025000000000}, {22, 0.025000000000}, {23, 0.025000000000}, {25, 0.025000000000}, {26, 0.025000000000}, {27, 0.025000000000}, {28, 0.025000000000}, {30, 0.025000000000}, {32, 0.025000000000}, {33, 0.025000000000}, {34, 0.025000000000}, {36, 0.025000000000}, {37, 0.025000000000}, {38, 0.025000000000}, {39, 0.025000000000}, {40, 0.025000000000}, {41, 0.025000000000}, {42, 0.025000000000}, {43, 0.025000000000}, {44, 0.025000000000}, {45, 0.025000000000}, {46, 0.025000000000}, {48, 0.025000000000}, {50, 0.025000000000}]
LegalActions() = [0, 1, 3, 4, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 7s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: 7s"
action: 6

# State 13
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |          6s7s      Js    |
# |                          |
# |                          |
# |                          |
# +--------------------------+
#
# Stock size: 39  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|          6s7s      Js    |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◉◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.025641025641}, {1, 0.025641025641}, {3, 0.025641025641}, {4, 0.025641025641}, {7, 0.025641025641}, {8, 0.025641025641}, {11, 0.025641025641}, {12, 0.025641025641}, {13, 0.025641025641}, {14, 0.025641025641}, {15, 0.025641025641}, {16, 0.025641025641}, {17, 0.025641025641}, {18, 0.025641025641}, {19, 0.025641025641}, {21, 0.025641025641}, {22, 0.025641025641}, {23, 0.025641025641}, {25, 0.025641025641}, {26, 0.025641025641}, {27, 0.025641025641}, {28, 0.025641025641}, {30, 0.025641025641}, {32, 0.025641025641}, {33, 0.025641025641}, {34, 0.025641025641}, {36, 0.025641025641}, {37, 0.025641025641}, {38, 0.025641025641}, {39, 0.025641025641}, {40, 0.025641025641}, {41, 0.025641025641}, {42, 0.025641025641}, {43, 0.025641025641}, {44, 0.025641025641}, {45, 0.025641025641}, {46, 0.025641025641}, {48, 0.025641025641}, {50, 0.025641025641}]
LegalActions() = [0, 1, 3, 4, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 4h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: 4h"
action: 42

# State 14
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |          6s7s      Js    |
# |                          |
# |                          |
# |      4h                  |
# +--------------------------+
#
# Stock size: 38  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|          6s7s      Js    |\n|                          |\n|                          |\n|      4h                  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◉◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.026315789474}, {1, 0.026315789474}, {3, 0.026315789474}, {4, 0.026315789474}, {7, 0.026315789474}, {8, 0.026315789474}, {11, 0.026315789474}, {12, 0.026315789474}, {13, 0.026315789474}, {14, 0.026315789474}, {15, 0.026315789474}, {16, 0.026315789474}, {17, 0.026315789474}, {18, 0.026315789474}, {19, 0.026315789474}, {21, 0.026315789474}, {22, 0.026315789474}, {23, 0.026315789474}, {25, 0.026315789474}, {26, 0.026315789474}, {27, 0.026315789474}, {28, 0.026315789474}, {30, 0.026315789474}, {32, 0.026315789474}, {33, 0.026315789474}, {34, 0.026315789474}, {36, 0.026315789474}, {37, 0.026315789474}, {38, 0.026315789474}, {39, 0.026315789474}, {40, 0.026315789474}, {41, 0.026315789474}, {43, 0.026315789474}, {44, 0.026315789474}, {45, 0.026315789474}, {46, 0.026315789474}, {48, 0.026315789474}, {50, 0.026315789474}]
LegalActions() = [0, 1, 3, 4, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 48, 50]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th", "Chance outcome: Qh"]

# Apply action "Chance outcome: Qh"
action: 50

# State 15
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |          6s7s      Js    |
# |                          |
# |                          |
# |      4h              Qh  |
# +--------------------------+
#
# Stock size: 37  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|          6s7s      Js    |\n|                          |\n|                          |\n|      4h              Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◉◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.027027027027}, {1, 0.027027027027}, {3, 0.027027027027}, {4, 0.027027027027}, {7, 0.027027027027}, {8, 0.027027027027}, {11, 0.027027027027}, {12, 0.027027027027}, {13, 0.027027027027}, {14, 0.027027027027}, {15, 0.027027027027}, {16, 0.027027027027}, {17, 0.027027027027}, {18, 0.027027027027}, {19, 0.027027027027}, {21, 0.027027027027}, {22, 0.027027027027}, {23, 0.027027027027}, {25, 0.027027027027}, {26, 0.027027027027}, {27, 0.027027027027}, {28, 0.027027027027}, {30, 0.027027027027}, {32, 0.027027027027}, {33, 0.027027027027}, {34, 0.027027027027}, {36, 0.027027027027}, {37, 0.027027027027}, {38, 0.027027027027}, {39, 0.027027027027}, {40, 0.027027027027}, {41, 0.027027027027}, {43, 0.027027027027}, {44, 0.027027027027}, {45, 0.027027027027}, {46, 0.027027027027}, {48, 0.027027027027}]
LegalActions() = [0, 1, 3, 4, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Qs", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th"]

# Apply action "Chance outcome: Qs"
action: 11

# State 16
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |          6s7s      JsQs  |
# |                          |
# |                          |
# |      4h              Qh  |
# +--------------------------+
#
# Stock size: 36  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|          6s7s      JsQs  |\n|                          |\n|                          |\n|      4h              Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◉◉◯◯◯◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.027777777778}, {1, 0.027777777778}, {3, 0.027777777778}, {4, 0.027777777778}, {7, 0.027777777778}, {8, 0.027777777778}, {12, 0.027777777778}, {13, 0.027777777778}, {14, 0.027777777778}, {15, 0.027777777778}, {16, 0.027777777778}, {17, 0.027777777778}, {18, 0.027777777778}, {19, 0.027777777778}, {21, 0.027777777778}, {22, 0.027777777778}, {23, 0.027777777778}, {25, 0.027777777778}, {26, 0.027777777778}, {27, 0.027777777778}, {28, 0.027777777778}, {30, 0.027777777778}, {32, 0.027777777778}, {33, 0.027777777778}, {34, 0.027777777778}, {36, 0.027777777778}, {37, 0.027777777778}, {38, 0.027777777778}, {39, 0.027777777778}, {40, 0.027777777778}, {41, 0.027777777778}, {43, 0.027777777778}, {44, 0.027777777778}, {45, 0.027777777778}, {46, 0.027777777778}, {48, 0.027777777778}]
LegalActions() = [0, 1, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 2s", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th"]

# Apply action "Chance outcome: 2s"
action: 1

# State 17
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |  2s      6s7s      JsQs  |
# |                          |
# |                          |
# |      4h              Qh  |
# +--------------------------+
#
# Stock size: 35  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s      JsQs  |\n|                          |\n|                          |\n|      4h              Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◯◯◯◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.028571428571}, {3, 0.028571428571}, {4, 0.028571428571}, {7, 0.028571428571}, {8, 0.028571428571}, {12, 0.028571428571}, {13, 0.028571428571}, {14, 0.028571428571}, {15, 0.028571428571}, {16, 0.028571428571}, {17, 0.028571428571}, {18, 0.028571428571}, {19, 0.028571428571}, {21, 0.028571428571}, {22, 0.028571428571}, {23, 0.028571428571}, {25, 0.028571428571}, {26, 0.028571428571}, {27, 0.028571428571}, {28, 0.028571428571}, {30, 0.028571428571}, {32, 0.028571428571}, {33, 0.028571428571}, {34, 0.028571428571}, {36, 0.028571428571}, {37, 0.028571428571}, {38, 0.028571428571}, {39, 0.028571428571}, {40, 0.028571428571}, {41, 0.028571428571}, {43, 0.028571428571}, {44, 0.028571428571}, {45, 0.028571428571}, {46, 0.028571428571}, {48, 0.028571428571}]
LegalActions() = [0, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: 9c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th"]

# Apply action "Chance outcome: 9c"
action: 21

# State 18
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |  2s      6s7s      JsQs  |
# |                9c        |
# |                          |
# |      4h              Qh  |
# +--------------------------+
#
# Stock size: 34  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s      JsQs  |\n|                9c        |\n|                          |\n|      4h              Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◯◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.029411764706}, {3, 0.029411764706}, {4, 0.029411764706}, {7, 0.029411764706}, {8, 0.029411764706}, {12, 0.029411764706}, {13, 0.029411764706}, {14, 0.029411764706}, {15, 0.029411764706}, {16, 0.029411764706}, {17, 0.029411764706}, {18, 0.029411764706}, {19, 0.029411764706}, {22, 0.029411764706}, {23, 0.029411764706}, {25, 0.029411764706}, {26, 0.029411764706}, {27, 0.029411764706}, {28, 0.029411764706}, {30, 0.029411764706}, {32, 0.029411764706}, {33, 0.029411764706}, {34, 0.029411764706}, {36, 0.029411764706}, {37, 0.029411764706}, {38, 0.029411764706}, {39, 0.029411764706}, {40, 0.029411764706}, {41, 0.029411764706}, {43, 0.029411764706}, {44, 0.029411764706}, {45, 0.029411764706}, {46, 0.029411764706}, {48, 0.029411764706}]
LegalActions() = [0, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: 8h", "Chance outcome: Th"]

# Apply action "Chance outcome: 8h"
action: 46

# State 19
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |  2s      6s7s      JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 33  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s      JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◯◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.030303030303}, {3, 0.030303030303}, {4, 0.030303030303}, {7, 0.030303030303}, {8, 0.030303030303}, {12, 0.030303030303}, {13, 0.030303030303}, {14, 0.030303030303}, {15, 0.030303030303}, {16, 0.030303030303}, {17, 0.030303030303}, {18, 0.030303030303}, {19, 0.030303030303}, {22, 0.030303030303}, {23, 0.030303030303}, {25, 0.030303030303}, {26, 0.030303030303}, {27, 0.030303030303}, {28, 0.030303030303}, {30, 0.030303030303}, {32, 0.030303030303}, {33, 0.030303030303}, {34, 0.030303030303}, {36, 0.030303030303}, {37, 0.030303030303}, {38, 0.030303030303}, {39, 0.030303030303}, {40, 0.030303030303}, {41, 0.030303030303}, {43, 0.030303030303}, {44, 0.030303030303}, {45, 0.030303030303}, {48, 0.030303030303}]
LegalActions() = [0, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 8s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 8s"
action: 7

# State 20
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=0
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 32  Upcard: XX
# Discard pile:
#
# Player0: Deadwood=0
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.031250000000}, {3, 0.031250000000}, {4, 0.031250000000}, {8, 0.031250000000}, {12, 0.031250000000}, {13, 0.031250000000}, {14, 0.031250000000}, {15, 0.031250000000}, {16, 0.031250000000}, {17, 0.031250000000}, {18, 0.031250000000}, {19, 0.031250000000}, {22, 0.031250000000}, {23, 0.031250000000}, {25, 0.031250000000}, {26, 0.031250000000}, {27, 0.031250000000}, {28, 0.031250000000}, {30, 0.031250000000}, {32, 0.031250000000}, {33, 0.031250000000}, {34, 0.031250000000}, {36, 0.031250000000}, {37, 0.031250000000}, {38, 0.031250000000}, {39, 0.031250000000}, {40, 0.031250000000}, {41, 0.031250000000}, {43, 0.031250000000}, {44, 0.031250000000}, {45, 0.031250000000}, {48, 0.031250000000}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 5c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 5c"
action: 17

# State 21
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: 0
# Phase: FirstUpcard
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 31  Upcard: 5c
# Discard pile:
#
# Player0: Deadwood=80
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: 5c  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: 5c  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 54]
StringLegalActions() = ["Player: 0 Action: Draw upcard", "Player: 0 Action: Pass"]

# Apply action "Player: 0 Action: Pass"
action: 54

# State 22
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: 1
# Phase: FirstUpcard
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 31  Upcard: 5c
# Discard pile:
#
# Player0: Deadwood=80
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: 5c  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: 5c  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 54]
StringLegalActions() = ["Player: 1 Action: Draw upcard", "Player: 1 Action: Pass"]

# Apply action "Player: 1 Action: Pass"
action: 54

# State 23
#
# Knock card: 10
# Prev upcard: XX
# Repeated move: 0
# Player turn: 0
# Phase: FirstUpcard
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 31  Upcard: 5c
# Discard pile:
#
# Player0: Deadwood=80
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: 5c  Knock card: 10\nDiscard pile: \n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: 5c  Knock card: 10\nDiscard pile: \n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [53]
StringLegalActions() = ["Player: 0 Action: Draw stock"]

# Apply action "Player: 0 Action: Draw stock"
action: 53

# State 24
#
# Knock card: 10
# Prev upcard: 5c
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 31  Upcard: XX
# Discard pile: 5c
#
# Player0: Deadwood=80
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |      4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: 5c\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|      4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 31  Upcard: XX  Knock card: 10\nDiscard pile: 5c\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.032258064516}, {3, 0.032258064516}, {4, 0.032258064516}, {8, 0.032258064516}, {12, 0.032258064516}, {13, 0.032258064516}, {14, 0.032258064516}, {15, 0.032258064516}, {16, 0.032258064516}, {18, 0.032258064516}, {19, 0.032258064516}, {22, 0.032258064516}, {23, 0.032258064516}, {25, 0.032258064516}, {26, 0.032258064516}, {27, 0.032258064516}, {28, 0.032258064516}, {30, 0.032258064516}, {32, 0.032258064516}, {33, 0.032258064516}, {34, 0.032258064516}, {36, 0.032258064516}, {37, 0.032258064516}, {38, 0.032258064516}, {39, 0.032258064516}, {40, 0.032258064516}, {41, 0.032258064516}, {43, 0.032258064516}, {44, 0.032258064516}, {45, 0.032258064516}, {48, 0.032258064516}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 2d", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 2d"
action: 27

# State 25
#
# Knock card: 10
# Prev upcard: 5c
# Repeated move: 0
# Player turn: 0
# Phase: Discard
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 30  Upcard: XX
# Discard pile: 5c
#
# Player0: Deadwood=72
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d      Td      |
# |                9h  Jh  Kh|
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 30  Upcard: XX  Knock card: 10\nDiscard pile: 5c\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d      Td      |\n|                9h  Jh  Kh|\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 30  Upcard: XX  Knock card: 10\nDiscard pile: 5c\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [2, 9, 20, 24, 27, 29, 31, 35, 47, 49, 51]
StringLegalActions() = ["Player: 0 Action: 3s", "Player: 0 Action: Ts", "Player: 0 Action: 8c", "Player: 0 Action: Qc", "Player: 0 Action: 2d", "Player: 0 Action: 4d", "Player: 0 Action: 6d", "Player: 0 Action: Td", "Player: 0 Action: 9h", "Player: 0 Action: Jh", "Player: 0 Action: Kh"]

# Apply action "Player: 0 Action: Kh"
action: 51

# State 26
#
# Knock card: 10
# Prev upcard: 5c
# Repeated move: 0
# Player turn: 1
# Phase: Draw
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 30  Upcard: Kh
# Discard pile: 5c
#
# Player0: Deadwood=72
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d      Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 30  Upcard: Kh  Knock card: 10\nDiscard pile: 5c\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d      Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 30  Upcard: Kh  Knock card: 10\nDiscard pile: 5c\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 1 Action: Draw upcard", "Player: 1 Action: Draw stock"]

# Apply action "Player: 1 Action: Draw stock"
action: 53

# State 27
#
# Knock card: 10
# Prev upcard: Kh
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=53
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |                9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 30  Upcard: XX
# Discard pile: 5cKh
#
# Player0: Deadwood=72
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d      Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 30  Upcard: XX  Knock card: 10\nDiscard pile: 5cKh\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d      Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 30  Upcard: XX  Knock card: 10\nDiscard pile: 5cKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|                9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.033333333333}, {3, 0.033333333333}, {4, 0.033333333333}, {8, 0.033333333333}, {12, 0.033333333333}, {13, 0.033333333333}, {14, 0.033333333333}, {15, 0.033333333333}, {16, 0.033333333333}, {18, 0.033333333333}, {19, 0.033333333333}, {22, 0.033333333333}, {23, 0.033333333333}, {25, 0.033333333333}, {26, 0.033333333333}, {28, 0.033333333333}, {30, 0.033333333333}, {32, 0.033333333333}, {33, 0.033333333333}, {34, 0.033333333333}, {36, 0.033333333333}, {37, 0.033333333333}, {38, 0.033333333333}, {39, 0.033333333333}, {40, 0.033333333333}, {41, 0.033333333333}, {43, 0.033333333333}, {44, 0.033333333333}, {45, 0.033333333333}, {48, 0.033333333333}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 26, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 6c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 6c"
action: 18

# State 28
#
# Knock card: 10
# Prev upcard: Kh
# Repeated move: 0
# Player turn: 1
# Phase: Discard
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                          |
# |      4h      8h      Qh  |
# +--------------------------+
#
# Stock size: 29  Upcard: XX
# Discard pile: 5cKh
#
# Player0: Deadwood=72
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d      Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 29  Upcard: XX  Knock card: 10\nDiscard pile: 5cKh\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d      Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 29  Upcard: XX  Knock card: 10\nDiscard pile: 5cKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                          |\n|      4h      8h      Qh  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [1, 5, 6, 7, 10, 11, 18, 21, 42, 46, 50]
StringLegalActions() = ["Player: 1 Action: 2s", "Player: 1 Action: 6s", "Player: 1 Action: 7s", "Player: 1 Action: 8s", "Player: 1 Action: Js", "Player: 1 Action: Qs", "Player: 1 Action: 6c", "Player: 1 Action: 9c", "Player: 1 Action: 4h", "Player: 1 Action: 8h", "Player: 1 Action: Qh"]

# Apply action "Player: 1 Action: Qh"
action: 50

# State 29
#
# Knock card: 10
# Prev upcard: Kh
# Repeated move: 0
# Player turn: 0
# Phase: Draw
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                          |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 29  Upcard: Qh
# Discard pile: 5cKh
#
# Player0: Deadwood=72
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d      Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 29  Upcard: Qh  Knock card: 10\nDiscard pile: 5cKh\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d      Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 29  Upcard: Qh  Knock card: 10\nDiscard pile: 5cKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                          |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 0 Action: Draw upcard", "Player: 0 Action: Draw stock"]

# Apply action "Player: 0 Action: Draw stock"
action: 53

# State 30
#
# Knock card: 10
# Prev upcard: Qh
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                          |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 29  Upcard: XX
# Discard pile: 5cKhQh
#
# Player0: Deadwood=72
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d      Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 29  Upcard: XX  Knock card: 10\nDiscard pile: 5cQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d      Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 29  Upcard: XX  Knock card: 10\nDiscard pile: 5cQhKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                          |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.034482758621}, {3, 0.034482758621}, {4, 0.034482758621}, {8, 0.034482758621}, {12, 0.034482758621}, {13, 0.034482758621}, {14, 0.034482758621}, {15, 0.034482758621}, {16, 0.034482758621}, {19, 0.034482758621}, {22, 0.034482758621}, {23, 0.034482758621}, {25, 0.034482758621}, {26, 0.034482758621}, {28, 0.034482758621}, {30, 0.034482758621}, {32, 0.034482758621}, {33, 0.034482758621}, {34, 0.034482758621}, {36, 0.034482758621}, {37, 0.034482758621}, {38, 0.034482758621}, {39, 0.034482758621}, {40, 0.034482758621}, {41, 0.034482758621}, {43, 0.034482758621}, {44, 0.034482758621}, {45, 0.034482758621}, {48, 0.034482758621}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 19, 22, 23, 25, 26, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 7d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 7d"
action: 32

# State 31
#
# Knock card: 10
# Prev upcard: Qh
# Repeated move: 0
# Player turn: 0
# Phase: Discard
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                          |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 28  Upcard: XX
# Discard pile: 5cKhQh
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c      Qc  |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 28  Upcard: XX  Knock card: 10\nDiscard pile: 5cQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c      Qc  |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 28  Upcard: XX  Knock card: 10\nDiscard pile: 5cQhKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                          |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [2, 9, 20, 24, 27, 29, 31, 32, 35, 47, 49]
StringLegalActions() = ["Player: 0 Action: 3s", "Player: 0 Action: Ts", "Player: 0 Action: 8c", "Player: 0 Action: Qc", "Player: 0 Action: 2d", "Player: 0 Action: 4d", "Player: 0 Action: 6d", "Player: 0 Action: 7d", "Player: 0 Action: Td", "Player: 0 Action: 9h", "Player: 0 Action: Jh"]

# Apply action "Player: 0 Action: Qc"
action: 24

# State 32
#
# Knock card: 10
# Prev upcard: Qh
# Repeated move: 0
# Player turn: 1
# Phase: Draw
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                          |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 28  Upcard: Qc
# Discard pile: 5cKhQh
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 28  Upcard: Qc  Knock card: 10\nDiscard pile: 5cQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 28  Upcard: Qc  Knock card: 10\nDiscard pile: 5cQhKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                          |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 1 Action: Draw upcard", "Player: 1 Action: Draw stock"]

# Apply action "Player: 1 Action: Draw stock"
action: 53

# State 33
#
# Knock card: 10
# Prev upcard: Qc
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                          |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 28  Upcard: XX
# Discard pile: 5cKhQhQc
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 28  Upcard: XX  Knock card: 10\nDiscard pile: 5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 28  Upcard: XX  Knock card: 10\nDiscard pile: 5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                          |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.035714285714}, {3, 0.035714285714}, {4, 0.035714285714}, {8, 0.035714285714}, {12, 0.035714285714}, {13, 0.035714285714}, {14, 0.035714285714}, {15, 0.035714285714}, {16, 0.035714285714}, {19, 0.035714285714}, {22, 0.035714285714}, {23, 0.035714285714}, {25, 0.035714285714}, {26, 0.035714285714}, {28, 0.035714285714}, {30, 0.035714285714}, {33, 0.035714285714}, {34, 0.035714285714}, {36, 0.035714285714}, {37, 0.035714285714}, {38, 0.035714285714}, {39, 0.035714285714}, {40, 0.035714285714}, {41, 0.035714285714}, {43, 0.035714285714}, {44, 0.035714285714}, {45, 0.035714285714}, {48, 0.035714285714}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 19, 22, 23, 25, 26, 28, 30, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Jd", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: Jd"
action: 36

# State 34
#
# Knock card: 10
# Prev upcard: Qc
# Repeated move: 0
# Player turn: 1
# Phase: Discard
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    JsQs  |
# |          6c    9c        |
# |                    Jd    |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 27  Upcard: XX
# Discard pile: 5cKhQhQc
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 27  Upcard: XX  Knock card: 10\nDiscard pile: 5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 27  Upcard: XX  Knock card: 10\nDiscard pile: 5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    JsQs  |\n|          6c    9c        |\n|                    Jd    |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [1, 5, 6, 7, 10, 11, 18, 21, 36, 42, 46]
StringLegalActions() = ["Player: 1 Action: 2s", "Player: 1 Action: 6s", "Player: 1 Action: 7s", "Player: 1 Action: 8s", "Player: 1 Action: Js", "Player: 1 Action: Qs", "Player: 1 Action: 6c", "Player: 1 Action: 9c", "Player: 1 Action: Jd", "Player: 1 Action: 4h", "Player: 1 Action: 8h"]

# Apply action "Player: 1 Action: Qs"
action: 11

# State 35
#
# Knock card: 10
# Prev upcard: Qc
# Repeated move: 0
# Player turn: 0
# Phase: Draw
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c    9c        |
# |                    Jd    |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 27  Upcard: Qs
# Discard pile: 5cKhQhQc
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 27  Upcard: Qs  Knock card: 10\nDiscard pile: 5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 27  Upcard: Qs  Knock card: 10\nDiscard pile: 5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c    9c        |\n|                    Jd    |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 0 Action: Draw upcard", "Player: 0 Action: Draw stock"]

# Apply action "Player: 0 Action: Draw stock"
action: 53

# State 36
#
# Knock card: 10
# Prev upcard: Qs
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c    9c        |
# |                    Jd    |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 27  Upcard: XX
# Discard pile: 5cKhQhQcQs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 27  Upcard: XX  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 27  Upcard: XX  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c    9c        |\n|                    Jd    |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.037037037037}, {3, 0.037037037037}, {4, 0.037037037037}, {8, 0.037037037037}, {12, 0.037037037037}, {13, 0.037037037037}, {14, 0.037037037037}, {15, 0.037037037037}, {16, 0.037037037037}, {19, 0.037037037037}, {22, 0.037037037037}, {23, 0.037037037037}, {25, 0.037037037037}, {26, 0.037037037037}, {28, 0.037037037037}, {30, 0.037037037037}, {33, 0.037037037037}, {34, 0.037037037037}, {37, 0.037037037037}, {38, 0.037037037037}, {39, 0.037037037037}, {40, 0.037037037037}, {41, 0.037037037037}, {43, 0.037037037037}, {44, 0.037037037037}, {45, 0.037037037037}, {48, 0.037037037037}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 19, 22, 23, 25, 26, 28, 30, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Jc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: Jc"
action: 23

# State 37
#
# Knock card: 10
# Prev upcard: Qs
# Repeated move: 0
# Player turn: 0
# Phase: Discard
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c    9c        |
# |                    Jd    |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 26  Upcard: XX
# Discard pile: 5cKhQhQcQs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h  Jh    |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 26  Upcard: XX  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h  Jh    |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 26  Upcard: XX  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c    9c        |\n|                    Jd    |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [2, 9, 20, 23, 27, 29, 31, 32, 35, 47, 49]
StringLegalActions() = ["Player: 0 Action: 3s", "Player: 0 Action: Ts", "Player: 0 Action: 8c", "Player: 0 Action: Jc", "Player: 0 Action: 2d", "Player: 0 Action: 4d", "Player: 0 Action: 6d", "Player: 0 Action: 7d", "Player: 0 Action: Td", "Player: 0 Action: 9h", "Player: 0 Action: Jh"]

# Apply action "Player: 0 Action: Jh"
action: 49

# State 38
#
# Knock card: 10
# Prev upcard: Qs
# Repeated move: 0
# Player turn: 1
# Phase: Draw
#
# Player1: Deadwood=49
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c    9c        |
# |                    Jd    |
# |      4h      8h          |
# +--------------------------+
#
# Stock size: 26  Upcard: Jh
# Discard pile: 5cKhQhQcQs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 26  Upcard: Jh  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 26  Upcard: Jh  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c    9c        |\n|                    Jd    |\n|      4h      8h          |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 1 Action: Draw upcard", "Player: 1 Action: Draw stock"]

# Apply action "Player: 1 Action: Draw upcard"
action: 52

# State 39
#
# Knock card: 10
# Prev upcard: Jh
# Repeated move: 0
# Player turn: 1
# Phase: Discard
#
# Player1: Deadwood=20
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c    9c        |
# |                    Jd    |
# |      4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 26  Upcard: XX
# Discard pile: 5cKhQhQcQs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 26  Upcard: XX  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 26  Upcard: XX  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c    9c        |\n|                    Jd    |\n|      4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [1, 5, 6, 7, 10, 18, 21, 36, 42, 46, 49]
StringLegalActions() = ["Player: 1 Action: 2s", "Player: 1 Action: 6s", "Player: 1 Action: 7s", "Player: 1 Action: 8s", "Player: 1 Action: Js", "Player: 1 Action: 6c", "Player: 1 Action: 9c", "Player: 1 Action: Jd", "Player: 1 Action: 4h", "Player: 1 Action: 8h", "Player: 1 Action: Jh"]

# Apply action "Player: 1 Action: 9c"
action: 21

# State 40
#
# Knock card: 10
# Prev upcard: Jh
# Repeated move: 0
# Player turn: 0
# Phase: Draw
#
# Player1: Deadwood=20
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |      4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 26  Upcard: 9c
# Discard pile: 5cKhQhQcQs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 26  Upcard: 9c  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 26  Upcard: 9c  Knock card: 10\nDiscard pile: Qs5cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|      4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 0 Action: Draw upcard", "Player: 0 Action: Draw stock"]

# Apply action "Player: 0 Action: Draw stock"
action: 53

# State 41
#
# Knock card: 10
# Prev upcard: 9c
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=20
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |      4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 26  Upcard: XX
# Discard pile: 5cKhQhQcQs9c
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 26  Upcard: XX  Knock card: 10\nDiscard pile: Qs5c9cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 26  Upcard: XX  Knock card: 10\nDiscard pile: Qs5c9cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|      4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.038461538462}, {3, 0.038461538462}, {4, 0.038461538462}, {8, 0.038461538462}, {12, 0.038461538462}, {13, 0.038461538462}, {14, 0.038461538462}, {15, 0.038461538462}, {16, 0.038461538462}, {19, 0.038461538462}, {22, 0.038461538462}, {25, 0.038461538462}, {26, 0.038461538462}, {28, 0.038461538462}, {30, 0.038461538462}, {33, 0.038461538462}, {34, 0.038461538462}, {37, 0.038461538462}, {38, 0.038461538462}, {39, 0.038461538462}, {40, 0.038461538462}, {41, 0.038461538462}, {43, 0.038461538462}, {44, 0.038461538462}, {45, 0.038461538462}, {48, 0.038461538462}]
LegalActions() = [0, 3, 4, 8, 12, 13, 14, 15, 16, 19, 22, 25, 26, 28, 30, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ks", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: Ks"
action: 12

# State 42
#
# Knock card: 10
# Prev upcard: 9c
# Repeated move: 0
# Player turn: 0
# Phase: Discard
#
# Player1: Deadwood=20
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |      4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 25  Upcard: XX
# Discard pile: 5cKhQhQcQs9c
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts    Ks|
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 25  Upcard: XX  Knock card: 10\nDiscard pile: Qs5c9cQcQhKh\n+--------------------------+\n|    3s            Ts    Ks|\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 25  Upcard: XX  Knock card: 10\nDiscard pile: Qs5c9cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|      4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◉◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [2, 9, 12, 20, 23, 27, 29, 31, 32, 35, 47]
StringLegalActions() = ["Player: 0 Action: 3s", "Player: 0 Action: Ts", "Player: 0 Action: Ks", "Player: 0 Action: 8c", "Player: 0 Action: Jc", "Player: 0 Action: 2d", "Player: 0 Action: 4d", "Player: 0 Action: 6d", "Player: 0 Action: 7d", "Player: 0 Action: Td", "Player: 0 Action: 9h"]

# Apply action "Player: 0 Action: Ks"
action: 12

# State 43
#
# Knock card: 10
# Prev upcard: 9c
# Repeated move: 0
# Player turn: 1
# Phase: Draw
#
# Player1: Deadwood=20
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |      4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 25  Upcard: Ks
# Discard pile: 5cKhQhQcQs9c
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 25  Upcard: Ks  Knock card: 10\nDiscard pile: Qs5c9cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 25  Upcard: Ks  Knock card: 10\nDiscard pile: Qs5c9cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|      4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 1 Action: Draw upcard", "Player: 1 Action: Draw stock"]

# Apply action "Player: 1 Action: Draw stock"
action: 53

# State 44
#
# Knock card: 10
# Prev upcard: Ks
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=20
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |      4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 25  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 25  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 25  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|      4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.040000000000}, {3, 0.040000000000}, {4, 0.040000000000}, {8, 0.040000000000}, {13, 0.040000000000}, {14, 0.040000000000}, {15, 0.040000000000}, {16, 0.040000000000}, {19, 0.040000000000}, {22, 0.040000000000}, {25, 0.040000000000}, {26, 0.040000000000}, {28, 0.040000000000}, {30, 0.040000000000}, {33, 0.040000000000}, {34, 0.040000000000}, {37, 0.040000000000}, {38, 0.040000000000}, {39, 0.040000000000}, {40, 0.040000000000}, {41, 0.040000000000}, {43, 0.040000000000}, {44, 0.040000000000}, {45, 0.040000000000}, {48, 0.040000000000}]
LegalActions() = [0, 3, 4, 8, 13, 14, 15, 16, 19, 22, 25, 26, 28, 30, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 3h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 3h"
action: 41

# State 45
#
# Knock card: 10
# Prev upcard: Ks
# Repeated move: 0
# Player turn: 1
# Phase: Discard
#
# Player1: Deadwood=15
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |    3h4h      8h    Jh    |
# +--------------------------+
#
# Stock size: 24  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 24  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 24  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|    3h4h      8h    Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [1, 5, 6, 7, 10, 18, 36, 41, 42, 46, 49]
StringLegalActions() = ["Player: 1 Action: 2s", "Player: 1 Action: 6s", "Player: 1 Action: 7s", "Player: 1 Action: 8s", "Player: 1 Action: Js", "Player: 1 Action: 6c", "Player: 1 Action: Jd", "Player: 1 Action: 3h", "Player: 1 Action: 4h", "Player: 1 Action: 8h", "Player: 1 Action: Jh"]

# Apply action "Player: 1 Action: 8h"
action: 46

# State 46
#
# Knock card: 10
# Prev upcard: Ks
# Repeated move: 0
# Player turn: 0
# Phase: Draw
#
# Player1: Deadwood=15
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 24  Upcard: 8h
# Discard pile: 5cKhQhQcQs9cKs
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 24  Upcard: 8h  Knock card: 10\nDiscard pile: QsKs5c9cQcQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 24  Upcard: 8h  Knock card: 10\nDiscard pile: QsKs5c9cQcQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 0 Action: Draw upcard", "Player: 0 Action: Draw stock"]

# Apply action "Player: 0 Action: Draw stock"
action: 53

# State 47
#
# Knock card: 10
# Prev upcard: 8h
# Repeated move: 0
# Player turn: -1
# Phase: Deal
#
# Player1: Deadwood=15
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 24  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h
#
# Player0: Deadwood=69
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d  6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Player: 0\nStock size: 24  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d  6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 24  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◯◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ChanceOutcomes() = [{0, 0.041666666667}, {3, 0.041666666667}, {4, 0.041666666667}, {8, 0.041666666667}, {13, 0.041666666667}, {14, 0.041666666667}, {15, 0.041666666667}, {16, 0.041666666667}, {19, 0.041666666667}, {22, 0.041666666667}, {25, 0.041666666667}, {26, 0.041666666667}, {28, 0.041666666667}, {30, 0.041666666667}, {33, 0.041666666667}, {34, 0.041666666667}, {37, 0.041666666667}, {38, 0.041666666667}, {39, 0.041666666667}, {40, 0.041666666667}, {43, 0.041666666667}, {44, 0.041666666667}, {45, 0.041666666667}, {48, 0.041666666667}]
LegalActions() = [0, 3, 4, 8, 13, 14, 15, 16, 19, 22, 25, 26, 28, 30, 33, 34, 37, 38, 39, 40, 43, 44, 45, 48]
StringLegalActions() = ["Chance outcome: As", "Chance outcome: 4s", "Chance outcome: 5s", "Chance outcome: 9s", "Chance outcome: Ac", "Chance outcome: 2c", "Chance outcome: 3c", "Chance outcome: 4c", "Chance outcome: 7c", "Chance outcome: Tc", "Chance outcome: Kc", "Chance outcome: Ad", "Chance outcome: 3d", "Chance outcome: 5d", "Chance outcome: 8d", "Chance outcome: 9d", "Chance outcome: Qd", "Chance outcome: Kd", "Chance outcome: Ah", "Chance outcome: 2h", "Chance outcome: 5h", "Chance outcome: 6h", "Chance outcome: 7h", "Chance outcome: Th"]

# Apply action "Chance outcome: 5d"
action: 30

# State 48
#
# Knock card: 10
# Prev upcard: 8h
# Repeated move: 0
# Player turn: 0
# Phase: Discard
#
# Player1: Deadwood=15
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h
#
# Player0: Deadwood=42
# +--------------------------+
# |    3s            Ts      |
# |              8c    Jc    |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c    Jc    |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◉◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [2, 9, 20, 23, 27, 29, 30, 31, 32, 35, 47]
StringLegalActions() = ["Player: 0 Action: 3s", "Player: 0 Action: Ts", "Player: 0 Action: 8c", "Player: 0 Action: Jc", "Player: 0 Action: 2d", "Player: 0 Action: 4d", "Player: 0 Action: 5d", "Player: 0 Action: 6d", "Player: 0 Action: 7d", "Player: 0 Action: Td", "Player: 0 Action: 9h"]

# Apply action "Player: 0 Action: Jc"
action: 23

# State 49
#
# Knock card: 10
# Prev upcard: 8h
# Repeated move: 0
# Player turn: 1
# Phase: Draw
#
# Player1: Deadwood=15
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c              |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 23  Upcard: Jc
# Discard pile: 5cKhQhQcQs9cKs8h
#
# Player0: Deadwood=42
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 23  Upcard: Jc  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: Jc  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c              |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 53]
StringLegalActions() = ["Player: 1 Action: Draw upcard", "Player: 1 Action: Draw stock"]

# Apply action "Player: 1 Action: Draw upcard"
action: 52

# State 50
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 1
# Phase: Discard
#
# Player1: Deadwood=9
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c        Jc    |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h
#
# Player0: Deadwood=42
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c        Jc    |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [1, 5, 6, 7, 10, 18, 23, 36, 41, 42, 49, 55]
StringLegalActions() = ["Player: 1 Action: 2s", "Player: 1 Action: 6s", "Player: 1 Action: 7s", "Player: 1 Action: 8s", "Player: 1 Action: Js", "Player: 1 Action: 6c", "Player: 1 Action: Jc", "Player: 1 Action: Jd", "Player: 1 Action: 3h", "Player: 1 Action: 4h", "Player: 1 Action: Jh", "Player: 1 Action: Knock"]

# Apply action "Player: 1 Action: Knock"
action: 55

# State 51
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 1
# Phase: Knock
#
# Player1: Deadwood=76
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |          6c        Jc    |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h
#
# Player0: Deadwood=64
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c9cQc8hQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|          6c        Jc    |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◯◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [18]
StringLegalActions() = ["Player: 1 Action: 6c"]

# Apply action "Player: 1 Action: 6c"
action: 18

# State 52
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 1
# Phase: Knock
#
# Player1: Deadwood=70
# +--------------------------+
# |  2s      6s7s8s    Js    |
# |                    Jc    |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=64
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|  2s      6s7s8s    Js    |\n|                    Jc    |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [110, 126]
StringLegalActions() = ["Player: 1 Action: JsJcJdJh", "Player: 1 Action: 6s7s8s"]

# Apply action "Player: 1 Action: 6s7s8s"
action: 126

# State 53
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 1
# Phase: Knock
#
# Player1: Deadwood=49
# Layed melds: 6s7s8s
# +--------------------------+
# |  2s                Js    |
# |                    Jc    |
# |                    Jd    |
# |    3h4h            Jh    |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=64
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nOpponent melds: 6s7s8s \nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|  2s                Js    |\n|                    Jc    |\n|                    Jd    |\n|    3h4h            Jh    |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◉◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [110]
StringLegalActions() = ["Player: 1 Action: JsJcJdJh"]

# Apply action "Player: 1 Action: JsJcJdJh"
action: 110

# State 54
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 1
# Phase: Knock
#
# Player1: Deadwood=9
# Layed melds: 6s7s8s JsJcJdJh
# +--------------------------+
# |  2s                      |
# |                          |
# |                          |
# |    3h4h                  |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=64
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Player: 0\nOpponent melds: JsJcJdJh 6s7s8s \nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|  2s                      |\n|                          |\n|                          |\n|    3h4h                  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [54]
StringLegalActions() = ["Player: 1 Action: Pass"]

# Apply action "Player: 1 Action: Pass"
action: 54

# State 55
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 0
# Phase: Layoff
#
# Player1: Deadwood=9
# Layed melds: 6s7s8s JsJcJdJh
# +--------------------------+
# |  2s                      |
# |                          |
# |                          |
# |    3h4h                  |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=64
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nOpponent melds: JsJcJdJh 6s7s8s \nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|  2s                      |\n|                          |\n|                          |\n|    3h4h                  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [54]
StringLegalActions() = ["Player: 0 Action: Pass"]

# Apply action "Player: 0 Action: Pass"
action: 54

# State 56
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 0
# Phase: Layoff
#
# Player1: Deadwood=9
# Layed melds: 6s7s8s JsJcJdJh
# +--------------------------+
# |  2s                      |
# |                          |
# |                          |
# |    3h4h                  |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=64
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d  4d5d6d7d    Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54, 54]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54, 54"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nOpponent melds: JsJcJdJh 6s7s8s \nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d  4d5d6d7d    Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|  2s                      |\n|                          |\n|                          |\n|    3h4h                  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◉◉◉◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [54, 146, 147, 188]
StringLegalActions() = ["Player: 0 Action: Pass", "Player: 0 Action: 4d5d6d", "Player: 0 Action: 5d6d7d", "Player: 0 Action: 4d5d6d7d"]

# Apply action "Player: 0 Action: 4d5d6d7d"
action: 188

# State 57
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 0
# Phase: Layoff
#
# Player1: Deadwood=9
# Layed melds: 6s7s8s JsJcJdJh
# +--------------------------+
# |  2s                      |
# |                          |
# |                          |
# |    3h4h                  |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=42
# Layed melds: 4d5d6d7d
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d              Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = False
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54, 54, 188]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54, 54, 188"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Player: 0\nOpponent melds: JsJcJdJh 6s7s8s \nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|    3s            Ts      |\n|              8c          |\n|  2d              Td      |\n|                9h        |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 23  Upcard: XX  Knock card: 10\nDiscard pile: QsKs5c6c9cQc8hQhKh\n+--------------------------+\n|  2s                      |\n|                          |\n|                          |\n|    3h4h                  |\n+--------------------------+\n"
ObservationTensor(0): ◉◯◉◉◉◉◉◉◉◉◉◉◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◉◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◉◉◉◉◉◉◉◉◉◉◉◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◉◯◯◯◯◉◉◯◯◉◯◯◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◉◯◯◯◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◉◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [54]
StringLegalActions() = ["Player: 0 Action: Pass"]

# Apply action "Player: 0 Action: Pass"
action: 54

# State 58
#
# Knock card: 10
# Prev upcard: Jc
# Repeated move: 0
# Player turn: 0
# Phase: GameOver
#
# Player1: Deadwood=9
# Layed melds: 6s7s8s JsJcJdJh
# +--------------------------+
# |  2s                      |
# |                          |
# |                          |
# |    3h4h                  |
# +--------------------------+
#
# Stock size: 23  Upcard: XX
# Discard pile: 5cKhQhQcQs9cKs8h6c
#
# Player0: Deadwood=42
# Layed melds: 4d5d6d7d
# +--------------------------+
# |    3s            Ts      |
# |              8c          |
# |  2d              Td      |
# |                9h        |
# +--------------------------+
IsTerminal() = True
History() = [29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54, 54, 188, 54]
HistoryString() = "29, 49, 9, 2, 51, 24, 35, 20, 47, 31, 5, 10, 6, 42, 50, 11, 1, 21, 46, 7, 17, 54, 54, 53, 27, 51, 53, 18, 50, 53, 32, 24, 53, 36, 11, 53, 23, 49, 52, 21, 53, 12, 12, 53, 41, 46, 53, 30, 23, 52, 55, 18, 126, 110, 54, 54, 188, 54"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = -4
ObservationString(0) = "Player: 0\nStock size: 0  Upcard: XX  Knock card: 0\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationString(1) = "Player: 1\nStock size: 0  Upcard: XX  Knock card: 0\nDiscard pile: \n+--------------------------+\n|                          |\n|                          |\n|                          |\n|                          |\n+--------------------------+\n"
ObservationTensor(0): ◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
ObservationTensor(1): ◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯
Rewards() = [-33.0, 33.0]
Returns() = [-33.0, 33.0]
