Hearthstone game state:
ENTITY_ID: 1
ZONE: PLAY
CARDTYPE: GAME
STATE: 2
ENTITY_ID: 2
PLAYSTATE: PLAYING
RESOURCES: 4
HERO_ENTITY: 64
MAXHANDSIZE: 10
PLAYER_ID: 1
ZONE: PLAY
CONTROLLER: 1
CARDTYPE: PLAYER
ENTITY_ID: 3
PLAYSTATE: PLAYING
RESOURCES_USED: 4
RESOURCES: 4
HERO_ENTITY: 66
MAXHANDSIZE: 10
PLAYER_ID: 2
ZONE: PLAY
CONTROLLER: 2
CARDTYPE: PLAYER
TEXT: <b>Taunt</b>
ENTITY_ID: 5
HEALTH: 3
ATK: 1
COST: 1
ZONE: HAND
CONTROLLER: 1
TAUNT: 1
CLASS: WARLOCK
CARDRACE: 15
CARDTYPE: MINION
ZONE_POSITION: 5
TEXT: Give a friendly
minion +3/+3 until your next turn.
ENTITY_ID: 8
COST: 1
ZONE: HAND
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: SPELL
ZONE_POSITION: 1
TEXT: Destroy a friendly Demon. Restore #5 Health to your hero.
ENTITY_ID: 25
ZONE: HAND
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: SPELL
ZONE_POSITION: 3
TEXT: <b>Taunt</b>
ENTITY_ID: 27
HEALTH: 3
ATK: 1
COST: 1
ZONE: PLAY
CONTROLLER: 1
TAUNT: 1
CLASS: WARLOCK
CARDRACE: 15
CARDTYPE: MINION
ZONE_POSITION: 2
ENTITY_ID: 29
HEALTH: 3
ATK: 2
COST: 2
ZONE: PLAY
CONTROLLER: 1
CLASS: NEUTRAL
CARDRACE: 20
CARDTYPE: MINION
ZONE_POSITION: 1
CARD_TARGET: 66
TEXT: Deal $1 damage to a minion. If that kills it, draw a card.
ENTITY_ID: 33
COST: 1
ZONE: HAND
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: SPELL
ZONE_POSITION: 2
ENTITY_ID: 37
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 6
ENTITY_ID: 39
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 5
ENTITY_ID: 41
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 4
ENTITY_ID: 47
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 7
TEXT: <b>Battlecry:</b> Draw a card.
ENTITY_ID: 51
HEALTH: 4
ATK: 2
COST: 4
EXHAUSTED: 1
ZONE: PLAY
CONTROLLER: 2
CLASS: NEUTRAL
CARDTYPE: MINION
BATTLECRY: 1
ZONE_POSITION: 1
ENTITY_ID: 56
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 2
ENTITY_ID: 62
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 3
ENTITY_ID: 63
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 1
ENTITY_ID: 64
HEALTH: 30
ZONE: PLAY
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: HERO
TEXT: <b>Hero Power</b>
Draw a card and take $2_damage.
ENTITY_ID: 65
COST: 2
ZONE: PLAY
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: HERO_POWER
ENTITY_ID: 66
HEALTH: 30
LAST_AFFECTED_BY: 29
DAMAGE: 2
ZONE: PLAY
CONTROLLER: 2
CLASS: PALADIN
CARDTYPE: HERO
TEXT: <b>Hero Power</b>
Summon a 1/1 Silver Hand Recruit.
ENTITY_ID: 67
COST: 2
ZONE: PLAY
CONTROLLER: 2
CLASS: PALADIN
CARDTYPE: HERO_POWER
TEXT: <b>Battlecry:</b> <b>Discover</b> a <b>Secret</b> from another class.
ENTITY_ID: 80
HEALTH: 2
ATK: 2
COST: 2
LAST_AFFECTED_BY: 32
ZONE: PLAY
CONTROLLER: 1
CLASS: NEUTRAL
CARDTYPE: MINION
BATTLECRY: 1
ZONE_POSITION: 3
TEXT: <b>Secret:</b> When a minion attacks your hero, instead it attacks one of_its neighbors.
ENTITY_ID: 87
COST: 2
LAST_AFFECTED_BY: 80
ZONE: HAND
CONTROLLER: 1
CLASS: ROGUE
CARDTYPE: SPELL
SECRET: 1
ZONE_POSITION: 4

Available options:
{'ID': 19, 'List': [{'Type': 'END_TURN', 'Main': {'ID': 0, 'Targets': None, 'PlayErrorInfo': {'PlayError': 'INVALID', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 33, 'Targets': [{'ID': 29, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 80, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 51, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 8, 'Targets': [{'ID': 29, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 80, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 51, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 25, 'Targets': [{'ID': 27, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 29, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 80, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 51, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 87, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 5, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 65, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 29, 'Targets': [{'ID': 66, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 51, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 29, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 80, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 80, 'Targets': [{'ID': 66, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 51, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 29, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 80, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 27, 'Targets': [{'ID': 66, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 51, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 29, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 80, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 64, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 66, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 67, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 51, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}]}

Chosen action:
HasSubOption: yes
HasPosition: yes
Id: 19
Index: 9
Target: 51
SubOption: -1
Position: 0

Outcome:
ENTITY_ID: 27
LAST_AFFECTED_BY: 0=>51
EXHAUSTED: 0=>1
DAMAGE: 0=>2
CARD_TARGET: 0=>51
NUM_ATTACKS_THIS_TURN: 0=>1
ENTITY_ID: 51
LAST_AFFECTED_BY: 0=>27
DAMAGE: 0=>1